Ich möchte den festen Zeilenwert mit einem anderen Spaltenwert kombinieren, dabei aber leere Zellen überspringen. Ich habe einen Code, aber er funktioniert nicht. Bitte schlagen Sie vor
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
Antwort1
Wenn Sie es ohne VBA machen möchten, erledigt diese hässliche Formel den Job.
=WENN(ISTLEER(B5),"",B$1&"-"&B5&", ") &WENN(ISTLEER(C5),"",C$1&"-"&C5) &WENN(ISTLEER(D5),"", (WENN(ISTLEER(C5),D$1&"-"&D5,", "&D$1&"-"&D5)))
Es befindet sich in Zelle B12 im Screenshot unten. Leider geht die Formel immer davon aus, dass mindestens zwei Spalten mit Daten vorhanden sind, sonst fügt sie ein unnötiges hinzu, wie die Ergebnisse in E zeigen. (Zelle B13)