Vba: so teilen sie einen string in ein array auf (mit beispiel)
Sie können die folgende grundlegende Syntax verwenden, um eine Zeichenfolge mithilfe von VBA in ein Array aufzuteilen:
SubSplitString ()
Dim SingleValue() As String
Dim i As Integer
Dim j As Integer
For i = 2 To 7
SingleValue = Split(Range(" A " & i), " ")
For j = 1 To 2
Cells(i, j + 1).Value = SingleValue(j - 1)
Next j
Next i
End Sub
In diesem speziellen Beispiel wird jede Zeichenfolge im Bereich A2:A7 basierend auf den Leerzeichen in jeder Zeichenfolge unterteilt und dann die resultierenden Elemente jeder Zeichenfolge den Zellbereichen B2:B7 und C2:C7 zugewiesen.
Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.
Beispiel: Mit VBA einen String in ein Array aufteilen
Angenommen, wir haben die folgende Liste von Zeichenfolgen in Excel:
Angenommen, wir möchten jede Zeichenfolge anhand von Leerzeichen aufteilen und dann die resultierenden Elemente jeder Zeichenfolge neuen Zellen zuweisen.
Dazu können wir das folgende Makro erstellen:
SubSplitString ()
Dim SplitValues() As String
Dim i As Integer
Dim j As Integer
For i = 2 To 7
SplitValues = Split(Range(" A " & i), " ")
For j = 1 To 2
Cells(i, j + 1).Value = SplitValues(j - 1)
Next j
Next i
End Sub
Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:
Beachten Sie, dass die Spalten B und C den Vor- und Nachnamen jedes vollständigen Namens in Spalte A enthalten.
Beachten Sie außerdem, dass Sie die VBA- Split- Funktion verwenden können, um ein Array basierend auf einem anderen Trennzeichen zu teilen.
Angenommen, wir haben die folgende E-Mail-Liste:
Nehmen wir an, wir möchten jede E-Mail basierend auf der Stelle, an der das @ -Symbol erscheint, in ein Array aufteilen.
Dazu können wir das folgende Makro erstellen:
SubSplitString ()
Dim SplitValues() As String
Dim i As Integer
Dim j As Integer
For i = 2 To 7
SplitValues = Split(Range(" A " & i), " @ ")
For j = 1 To 2
Cells(i, j + 1).Value = SplitValues(j - 1)
Next j
Next i
End Sub
Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:
Die Split- Funktion teilt jede E-Mail in Spalte A basierend auf dem @-Symbol auf und zeigt die resultierenden Elemente in den Spalten B und C an.
Hinweis : Die vollständige Dokumentation zur VBA- Split- Funktion finden Sie hier .
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben mit VBA ausführen:
VBA: So zählen Sie das Vorkommen von Zeichen in einer Zeichenfolge
VBA: So überprüfen Sie, ob eine Zeichenfolge eine andere Zeichenfolge enthält
VBA: So zählen Sie Zellen mit bestimmtem Text