Eine Einführung in String-Funktionen haben wir bereits in unserem Tutorial zu VBA-Strings und Substrings-Funktionen besprochen. Wir werden uns nun ansehen, wie man Textstrings verkettet.
Strings verketten
Sie können den &-Operator in VBA verwenden, um Textzeichenfolgen zu verbinden.
1 | MsgBox "Zusammenführen" & "Text" |
Zellen verketten
Sie können Zellen auch miteinander verketten. Unten haben wir die Textzeichenfolgen in A1 und B1:
Der folgende Code zeigt Ihnen, wie Sie Textzeichenfolgen aus Zelle A1 und B1 mit dem Operator & in Zelle C1 verbinden:
1 | Range("C1").Value = Range("A1").Value & Range("B1").value |
Das Ergebnis ist:
Variablen verketten
Dies ist die vollständige Prozedur, um zwei Zellen mithilfe von Zeichenfolgenvariablen zu verketten.
1234567891011 | UnterkonkatenateStrings()Dim StringOne als StringDim StringTwo als StringStringOne = Range("A1").ValueStringTwo = Range("B1").ValueRange("C1").Value = StringOne & StringTwoEnd Sub |
Verwenden des Operators & mit Leerzeichen
Wenn Sie Leerzeichen einschließen möchten, verwenden Sie & in Verbindung mit ” “. Der folgende Code zeigt Ihnen, wie Sie Leerzeichen einschließen:
123456789101112 | UnterverkettungStringsWithSpaces()Dim StringOne als StringDim StringTwo As StringDim StringThree As StringStringOne = "Das ist"StringTwo = "der Text"StringThree = StringOne & " " & StringTwoMsgBox StringThreeEnd Sub |
Das Ergebnis der MessageBox ist:
Verwenden des Operators & zum Verketten eines Anführungszeichens
Angenommen, Ihre Textzeichenfolge enthält ein Anführungszeichen. Der folgende Code zeigt Ihnen, wie Sie ein Anführungszeichen in eine Textzeichenfolge einfügen:
12345678910111213 | UnterverkettungAQuotationMark()Dim StringOne als StringDim StringTwo As StringDim StringThree As StringStringOne = "Das ist das Anführungszeichen"StringTwo = """"StringThree = StringOne & " " & StringTwoMsgBox StringThreeEnd Sub |
Das Ergebnis ist:
Strings in eine neue Zeile einfügen
Nehmen wir an, Sie haben fünf Textzeichenfolgen, Sie können jede Textzeichenfolge in eine neue Zeile oder einen neuen Absatz einfügen, indem Sie entweder die vbNewLine-, vbCrLf-, vbCr- oder Chr-Funktion verwenden. Der folgende Code zeigt Ihnen, wie Sie jede Textzeichenfolge in eine neue Zeile einfügen:
123456789101112131415161718 | Sub PuttingEachTextStringOnANewLine()Dim StringOne als StringDim StringTwo As StringDim StringThree As StringDim StringFour als StringDim StringFive As StringStringOne = "Dies ist die erste Zeichenfolge"StringTwo = "Dies ist die zweite Zeichenfolge"StringThree = "Dies ist die dritte Zeichenfolge"StringFour = "Dies ist die vierte Saite"StringFive = "Dies ist die fünfte Saite"MsgBox StringOne & vbNewLine & StringTwo & vbCrLf & StringThree & vbCr & StringFour & Chr(13) & StringFiveEnd Sub |
Das Ergebnis ist: