Wie verwende ich vba zum verketten von zeichenfolgen?
Um zwei Zeichenfolgen mithilfe von VBA-Code zu verketten, müssen Sie das kaufmännische Und-Zeichen verwenden. Sie können ein kaufmännisches Und-Zeichen zwischen zwei Zeichenfolgen verwenden, um sie zu kombinieren, und diesen neuen Wert dann einer Zelle, einer Variablen oder einem Meldungsfeld zuweisen. Ebenso können Sie auch mehr als zwei Werte verketten.
Später werden wir ein einfaches Beispiel sehen, um es zu verstehen.
Schritte zur Verwendung von VBA zum Verketten
- Geben Sie zunächst die erste Zeichenfolge in doppelte Anführungszeichen ein.
- Geben Sie anschließend ein kaufmännisches Und ein.
- Geben Sie als Nächstes den zweiten Text in doppelte Anführungszeichen ein.
- Weisen Sie diesen Wert am Ende einer Zelle oder Variablen zu oder verwenden Sie ein Meldungsfeld, um ihn anzuzeigen.
Sub vba_concatenate() Range("A1") = "Mike" & "Ross" End Sub
Mit einem Trennzeichen verketten
Sie können auch ein Trennzeichen zwischen zwei Zeichenfolgen verwenden, indem Sie einfach ein drittes Amsand hinzufügen. Betrachten Sie den folgenden Code.
Range("A1") = "Mike" & "-" & "Ross"
Im obigen Code haben Sie ein Trennzeichen in zwei Zeichenfolgen verwendet und diese nur mit kaufmännischen Und-Zeichen verbunden. Wenn Sie also etwas einschließen müssen, müssen Sie im Grunde ein kaufmännisches Und verwenden.
Verketten Sie mithilfe von Variablen
Sie können Werte auch in Variablen speichern und dann die Werte dieser beiden Variablen verketten. Betrachten Sie den folgenden Code.
Im obigen Code haben Sie Variablen als Variablen deklariert und diesen Variablen dann Werte zugewiesen. Und am Ende haben wir die drei Variablen mit einem kaufmännischen Und kombiniert und das Ergebnis dann der Zelle A1 zugewiesen.
Verketten Sie einen Bereich mit VBA
Sie können Werte aus einem Zellbereich auch mithilfe von VBA verketten. Betrachten Sie das folgende Makro.
Sub vba_concatenate() Dim rng As Range Dim i As String Dim SourceRange As Range Set SourceRange = Range("A1:A10") For Each rng In SourceRange i = i & rng & " " Next rng Range("B1").Value = Trim(i) End Sub
Im obigen Code haben Sie FOR NEXT (For-Schleifen) verwendet, um den Bereich zu durchlaufen, den Sie verketten möchten.
Es geht also zu jeder Zelle im Bereich (A1:A10), speichert diesen Wert in der Variablen I und verwendet ein kaufmännisches Und, um einen Wert in jeder Iteration zu verketten. Zum Schluss stellen Sie den kombinierten Kanal auf Bereich B1 ein.
Und der folgende Code verkettet die Werte des ausgewählten Bereichs. Sie müssen lediglich einen Bereich auswählen und dann den Code ausführen.
Dim rng As Range Dim i As String For Each rng In Selection i = i & rng & " " Next rng Range("B1").Value = Trim(i)
Verketten Sie eine ganze Spalte oder Zeile
Wenn Sie eine ganze Spalte oder Zeile verketten möchten, ist es in diesem Fall besser, nicht die Schleifenmethode zu verwenden. Sie können die Arbeitsblattfunktion „TextJoin“ verwenden, die eine ganze Zeile oder Spalte verbinden kann (beachten Sie den folgenden Code).
'join values from column A. Dim myRange As Range Dim myString As String Range("B1") = WorksheetFunction.TextJoin(" ", True, Range("A:A")) 'join values from row 1. Dim myRange As Range Dim myString As String Range("B1") = WorksheetFunction.TextJoin(" ", True, Range("1:1"))