“The best way to pay for a lovely moment is to enjoy it.” [Richard Bach]
Abstract
Die Excel Funktion TEXTVERKETTEN kann ab Excel Version 2019 die Inhalte von Zellbereichen und Arrays als Zeichenketten verbinden und mit vorgegebenem Trennzeichen ausgeben. Für Excel Versionen älter als Excel 2019 können Sie die hier vorgestellte benutzerdefinierte Funktion TEXTVERKETTEN verwenden.
Das Gute ist: Wenn Sie dann auf Excel 2019 oder neuer umstellen, müssen Sie nichts machen. Excel wird dann automatisch die eingebaute Funktion TEXTVERKETTEN verwenden.
Bitte beachten: Ich habe bewusst darauf verzichtet, mich um pathologische Fälle zu kümmern wie Trennzeichen ist ein Array oder Leer_ignorieren enthält ganze Zahlen wie 0 oder 1. Ich kopierte aber auch nicht die Fehler von Excel’s TEXTVERKETTEN. So behandelt Excel’s TEXTVERKETTEN Funktion Überschneidungen von nicht-zusammenhängenden Bereichen wie z. B. (A1:C3,D4:F6,G7:I9) (A1:B2,C3:D4,E5:F6,G7:H8,I9:J10) fehlerhaft. Wie bei fast jeder Analogie musste und wollte ich eine Grenze ziehen.
Appendix – Programmcode TEXTVERKETTEN
Bitte den Haftungsausschluss im Impressum beachten.
Option Explicit
Function TEXTVERKETTEN(Trennzeichen As String, _
Leer_ignorieren As Boolean, _
ParamArray Text() As Variant) As String
'Source (EN): http://www.sulprobil.de/textjoin_en/
'Source (DE): http://www.berndplumhoff.de/textverketten_de/
'(C) (P) by Bernd Plumhoff 07-Jan-2022 PB V1.1
Dim v, i As Long, s As String, t As String
For i = LBound(Text) To UBound(Text)
If IsArray(Text(i)) Then
For Each v In Text(i)
t = IIf(IsMissing(v), "", v)
If Not (Leer_ignorieren And t = "") Then
TEXTVERKETTEN = TEXTVERKETTEN & s & t
s = Trennzeichen
End If
Next v
Else
t = IIf(IsMissing(Text(i)), "", Text(i))
If Not (Leer_ignorieren And t = "") Then
TEXTVERKETTEN = TEXTVERKETTEN & s & t
s = Trennzeichen
End If
End If
Next i
End Function