Een string in een array splitsen in VBA (3 manieren)

  • Deel Dit
Hugh West

In dit artikel laat ik zien hoe je een string kunt splitsen in een array in VBA . Gesplitst is een van de belangrijkste en meest gebruikte functies die we gebruiken in VBA Je leert een string te splitsen in VBA op alle mogelijke manieren.

VBA splitsingsfunctie (snelle weergave)

=Split(Expression As String, [Delimiter], [Limit As Long=1], [CompareAsVbCompareMethod=vbBinaryCompare])

Download Praktijk Werkboek

Een string splitsen in een array.xlsm

3 manieren om een string in een array te splitsen in VBA

Laten we een touwtje in onze hand houden "We hebben visa aangevraagd voor de VS, Canada, Australië en Frankrijk." .

Ik zal je laten zien hoe je deze string kunt splitsen in een array op alle mogelijke manieren met behulp van de Splitsingsfunctie van VBA .

1. Gebruik een willekeurig scheidingsteken om een tekenreeks in een matrix te splitsen in VBA

U kunt een willekeurige tekenreeks gebruiken als scheidingsteken om een tekenreeks te splitsen in een matrix in VBA .

Het kan een spatie (" ") , a komma (",") , a puntkomma (":") een enkel karakter, een reeks karakters, of wat dan ook.

Voorbeeld 1:

Laten we de string splitsen met de komma als scheidingsteken.

De regel code zal zijn:

Arr = Split(Text, ",")

De volledige VBA-code zal zijn:

VBA-code:

 Sub Split_String() Tekst = "We hebben een visum aangevraagd voor de VS, Canada, Australië en Frankrijk." Arr = Split(Text, ",") Uitvoer = "" Voor i = 0 Tot UBound(Arr) Uitvoer = Uitvoer + vbNewLine + vbNewLine + Arr(i) Volgende i MsgBox Uitvoer End Sub 

Uitgang:

Het splitst de string in een array bestaande uit {"We hebben een visum aangevraagd voor de VS", "Canada", "Australië", "Frankrijk".}

Voorbeeld 2:

U kunt ook een spatie (" ") als scheidingsteken.

De regel code zal zijn:

Arr = Split(Text, " ")

De volledige VBA-code zal zijn:

VBA-code:

 Sub Split_String() Tekst = "We hebben een visum aangevraagd voor de VS, Canada, Australië en Frankrijk." Arr = Split(Text, " ") Output = "" Voor i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Volgende i MsgBox Output End Sub 

Uitgang:

Het splitst de string in een array bestaande uit {"We", "applied", "for", "the", "visa", "of", "U.S,", "Canada,", "Australia,", "France,"}.

Dingen om te onthouden:

  • Het standaard scheidingsteken is een spatie (" ") .
  • Dat wil zeggen, als u geen scheidingsteken invoegt, zal het een ruimte als scheidingsteken.

Lees meer: String splitsen per karakter in Excel (6 geschikte manieren)

Vergelijkbare lezingen:

  • Tekst splitsen in meerdere cellen in Excel
  • VBA om unieke waarden uit een kolom in een matrix in Excel te krijgen (3 criteria)
  • Excel VBA: Filteren met meerdere criteria in een matrix (7 manieren)

2. Een string splitsen in een array met een willekeurig aantal items

U kunt een string splitsen in een array met elk gewenst aantal items.

Voeg het aantal items in als de 3e argument van de Splitsingsfunctie .

Voorbeeld:

Laten we de string splitsen in de eerste 3 items met een ruimte als scheidingsteken.

De regel code zal zijn:

Arr = Split(Text, " ", 3)

En de VBA-code zal zijn:

VBA-code:

 Sub Split_String() Tekst = "We hebben een visum aangevraagd voor de VS, Canada, Australië en Frankrijk." Arr = Split(Text, " ", 3) Output = "" Voor i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Volgende i MsgBox Output End Sub 

Uitgang:

Het splitst de string in een array bestaande uit de eerste 3 items gescheiden door het scheidingsteken ruimte .

Dingen om te onthouden:

  • Het standaardargument is -1 .
  • Dat betekent dat als je het argument niet invoert, het de string in het maximaal mogelijke aantal keren zal splitsen.

Lees meer: Hoe te splitsen String door lengte in Excel (8 manieren)

3. Zowel hoofdlettergevoelige als ongevoelige scheidingstekens gebruiken om een string of array te splitsen in VBA

De Splitsingsfunctie biedt u de mogelijkheid om zowel een hoofdlettergevoelig en hoofdletterongevoelig scheidingsteken.

Voor een hoofdletterongevoelig scheidingsteken, voeg de 4e argument als 1.

En voor een hoofdletterongevoelig scheidingsteken, voeg de 4e argument als 0 .

Voorbeeld 1: Hoofdlettergevoelig scheidingsteken

Laten we in de gegeven string de tekst "VOOR" als scheidingsteken en 2 als het totale aantal items van de matrix.

Nu, voor een hoofdletterongevoelig geval zal de regel code zijn:

Arr = Split(Text, "FOR ", 3,1)

En de volledige VBA-code zal zijn:

VBA-code:

 Sub Split_String() Tekst = "We hebben een visum aangevraagd voor de VS, Canada, Australië en Frankrijk." Arr = Split(Text, "FOR", 2, 1) Output = "" Voor i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub 

Uitgang:

Aangezien het scheidingsteken hoofdletterongevoelig hier, de "VOOR" zal werken als "voor" en het zal de string splitsen in een array van twee items.

Voorbeeld 2: Hoofdlettergevoelig scheidingsteken

Nogmaals, voor een hoofdlettergevoelig geval zal de regel code zijn:

Arr = Split(Text, "FOR ", 3,0)

En de volledige VBA-code zal zijn:

VBA-code:

 Sub Split_String() Tekst = "We hebben een visum aangevraagd voor de VS, Canada, Australië en Frankrijk." Arr = Split(Text, "FOR", 2, 0) Output = "" Voor i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub 

Uitgang:

Aangezien het scheidingsteken hoofdlettergevoelig hier, de "VOOR" zal niet als "voor" en het zal de string niet splitsen in een array van twee items.

Lees meer: Excel VBA: Duplicaten verwijderen uit een matrix (2 voorbeelden)

Dingen om te onthouden:

  • De standaardwaarde van het argument is 0 .
  • Dat wil zeggen, als je de waarde van de 4e argument, zal het werken voor een hoofdlettergevoelig wedstrijd.

Conclusie

Daarom kunt u met deze methoden de Splitsingsfunctie van VBA om een string te splitsen in een array van items. Heb je vragen? Stel ze gerust.

Hugh West is een zeer ervaren Excel-trainer en -analist met meer dan 10 jaar ervaring in de branche. Hij heeft een bachelor in Accounting en Finance en een master in Business Administration. Hugh heeft een passie voor lesgeven en heeft een unieke lesaanpak ontwikkeld die gemakkelijk te volgen en te begrijpen is. Zijn deskundige kennis van Excel heeft duizenden studenten en professionals over de hele wereld geholpen hun vaardigheden te verbeteren en uit te blinken in hun carrière. Via zijn blog deelt Hugh zijn kennis met de wereld en biedt hij gratis Excel-tutorials en online trainingen aan om individuen en bedrijven te helpen hun volledige potentieel te bereiken.