將儲存格值與標題合併並忽略空格

將儲存格值與標題合併並忽略空格

我想將固定行值與不同的列值組合起來,但跳過空白單元格。我有一個代碼,但它不起作用。請建議

在此輸入影像描述

Public Function SuperJoin(r1 As Range, r2 As Range, IgnoreBlanks As Boolean) As String
Dim i As Long, j As Long
Dim s As String

j = r2.Cells.Count
For i = 1 To j
  If IgnoreBlanks = True Then
    If r2.Cells(i) = True Then
        If r2.Cells(i).Value <> "" Then s = s & "-" & r2.Cells(i)
    End If
  Else
    If r2.Cells(i) = True Then
        s = s & "-" & r2.Cells(i)
    End If
  End If
Next

i = r1.Count

For j = 1 To i
    SuperJoin = SuperJoin & "----" & r1(1, j) & r2(1, j)
Next j

SuperJoin = Mid(SuperJoin, 5)

End Function

答案1

如果你想在沒有 VBA 的情況下完成它,這個醜陋的公式就可以完成這項工作。

=IF(ISBLANK(B5),"",B$1&"-"&B5&",") &IF(ISBLANK(C5),"",C$1&"-"&C5) &IF(ISBLANK(D5),"", (IF(ISBLANK(C5),D$1&"-"&D5,", "&D$1&"-"&D5)))

它位於下面螢幕截圖的 B12 單元格中。不幸的是,該公式始終假設至少有兩列包含數據,否則它將添加不必要的 ,如 E 中的結果所示。 (B13 單元)

在此輸入影像描述

相關內容