Kombinieren Sie den Zellenwert mit der Kopfzeile und ignorieren Sie die Leerzeichen

Kombinieren Sie den Zellenwert mit der Kopfzeile und ignorieren Sie die Leerzeichen

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

Bildbeschreibung hier eingeben

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)

Bildbeschreibung hier eingeben

verwandte Informationen