用户定义的连接

User defined concatenate

我正在尝试扩展我的年度计划文件以提供更多信息。但是目前我卡住了。

我目前的Sheet布局如下:

我需要创建第二个 sheet,将客户名称与每个列标题连接起来,其中有一个 "yes" 值,作为单独的行。

新 sheet 中的示例 1 将变为:

Example 1 - Annuals
Example 1 - Xero Fee

我试过复制和粘贴宏,基于数量列计算包含文本的行数。这在新 sheet 中提供了所需数量的客户端名称,但我无法弄清楚如何将此问题的 "concatenate" 部分包含在内。

Public Sub CopyData()

    ' This routing will copy rows based on the quantity to a new sheet.
    Dim rngSinglecell As Range
    Dim rngQuantityCells As Range
    Dim intCount As Integer

    ' Set this for the range where the Quantity column exists. This works only if there are no empty cells
    Set rngQuantityCells = Range("G1", Range("G1").End(xlDown))

    For Each rngSinglecell In rngQuantityCells
        ' Check if this cell actually contains a number
        If IsNumeric(rngSinglecell.Value) Then
            ' Check if the number is greater than 0
            If rngSinglecell.Value > 0 Then
                ' Copy this row as many times as .value
                For intCount = 1 To rngSinglecell.Value
                    ' Copy the row into the next emtpy row in sheet2
                    Range(rngSinglecell.Address).EntireRow.Copy Destination:=Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1)
                    ' The above line finds the next empty row.

                Next
            End If
        End If
    Next
End Sub

如果你的目标是从得到这个:

...到这个(或那个):

...那么您要做的就是 Unpivot.


如何逆透视 "crosstab-style" 数据:

您可以找到写在 , and there's a more detailed explanation and steps over here 上的步骤。

如果您有任何问题,请告诉我!

是啊,也许我以此为借口练习使用Screen2Gif,但它确实有助于演示一个观点! :-)