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:

VBA teilt String in Array auf

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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert