Vba: een tekenreeks splitsen op basis van meerdere scheidingstekens
U kunt de volgende basissyntaxis gebruiken om een tekenreeks te splitsen op basis van meerdere scheidingstekens in VBA:
SubSplitString ()
Dim SingleValue() As String
Dim i As Integer
Dim j As Integer
For i = 2 To 7
newString = Replace(Range(" A " & i), " - ", " ")
SingleValue = Split(newString, " ")
For j = 1 To 3
Cells(i, j + 1).Value = SingleValue(j - 1)
Next j
Next i
End Sub
Dit specifieke voorbeeld verdeelt elke tekenreeks in het bereik A2:A7 op basis van koppeltekens of spaties in elke tekenreeks, en wijst vervolgens de resulterende elementen van elke tekenreeks toe aan aangrenzende cellen in de kolommen B, C en D.
Opmerking : deze macro vervangt eerst elk koppelteken door een spatie en splitst vervolgens elke tekenreeks op basis van waar de spaties zich bevinden.
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: een tekenreeks splitsen op basis van meerdere scheidingstekens in VBA
Stel dat we de volgende lijst met namen in Excel hebben:
Stel dat we elke naam willen splitsen op basis van koppeltekens of spaties, en vervolgens de resulterende elementen van elke tekenreeks aan nieuwe cellen willen toewijzen.
We kunnen hiervoor de volgende macro maken:
SubSplitString ()
Dim SingleValue() As String
Dim i As Integer
Dim j As Integer
For i = 2 To 7
newString = Replace(Range(" A " & i), " - ", " ")
SingleValue = Split(newString, " ")
For j = 1 To 3
Cells(i, j + 1).Value = SingleValue(j - 1)
Next j
Next i
End Sub
Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:
Houd er rekening mee dat deze macro elke tekenreeks in kolom A splitst op basis van spaties en koppeltekens en de afzonderlijke tekstelementen van elke tekenreeks in kolommen B, C en D weergeeft.
Opmerking 1: In dit voorbeeld splitsen we tekenreeksen op basis van koppeltekens en spaties, maar u kunt tekenreeksen splitsen op basis van gewenste scheidingstekens door deze op te geven in de functies Vervangen en Splitsen .
Opmerking #2 : U kunt hier de volledige documentatie voor de VBA Split- functie vinden.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken kunt uitvoeren met VBA:
VBA: het aantal tekens in een string tellen
VBA: hoe controleer je of een string een andere string bevat?
VBA: cellen tellen met specifieke tekst