Hoe kinne jo in tekenrige splitse yn in array yn VBA (3 manieren)

  • Diel Dit
Hugh West

Yn dit artikel sil ik jo sjen litte hoe't jo in tekenrige kinne splitse yn in array yn VBA . Split is ien fan 'e wichtichste en meast brûkte funksjes dy't wy brûke yn VBA . Jo sille leare om in tekenrige te splitsen yn VBA op alle mooglike manieren.

VBA Split-funksje (Quick View)

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

Download Oefeningswurkboek

Split in string yn in array.xlsm

3 manieren om in tekenrige te splitsen yn in array yn VBA

Litte wy in tekenrige yn ús hân hawwe “Wy hawwe oanfrege foar it fisum fan FS, Kanada, Austraalje en Frankryk .” .

Ik sil jo sjen litte hoe't jo dizze tekenrige kinne splitse yn in array op alle soarten mooglike manieren mei de Splitfunksje fan VBA .

1. Brûk elke skiedingsteken om in tekenrige te splitsen yn in array yn VBA

Jo kinne elke tekenrige brûke as skiedingsteken om in tekenrige te splitsen yn in array yn VBA .

It kin in spaasje ("“) wêze, in komma (",") , in puntkomma (":") , in inkeld karakter, in tekenrige, of wat dan ek.

Foarbyld 1:

Litte wy de tekenrige splitse mei de komma as de delimiter.

De rigel fan koade sil wêze:

Arr = Split(Text, ",")

De folsleine VBA-koade sil wêze:

VBA-koade:

1243

Utfier:

It sil de tekenrige splitse yn in array besteande út {"Wy hawwe oanfrege foar it fisum fan 'e FS", "Kanada", "Austraalje", "Frankryk”}.

Foarbyld 2:

Jo kinne ek in spaasje (“ ”) as skiedingsteken brûke.

De rigel fan koade sil wêze:

Arr = Split(Text, " ")

De folsleine VBA-koade sil wêze:

VBA-koade:

5554

Utfier:

It sil de tekenrige splitse yn in array besteande út {"Wy", "applied", "for", "de", "visa", "fan", "Feriene Steaten", "Kanada", "Austraalje", "Frankryk,"}.

Dingen om te ûnthâlden:

  • De standert skiedingsteken is in spaasje (" ”) .
  • Dat is, as jo gjin skiedingsteken ynfoegje, sil it in romte brûke as skiedingsteken.

Lês mear: Trêge splitst troch karakter yn Excel (6 geskikte manieren)

Fergelykbere lêzings:

  • Tekst splitst yn meardere sellen yn Excel
  • VBA om unike wearden te krijen fan kolom nei array yn Excel (3 kritearia)
  • Excel VBA: Hoe kinne jo filterje mei meardere Kritearia yn array (7 manieren)

2. Split in string yn in rige mei elk oantal items

Jo kinne in tekenrige splitse yn in rige mei elk oantal items neffens jo winsk.

Foegje it oantal items yn as it 3e argumint fan de Splitfunksje .

Foarbyld:

Litte wy de string yn 'e earste 3 items mei in spaasje as skiedingsteken.

De rigel koade silwêze:

Arr = Split(Text, " ", 3)

En de VBA-koade sil wêze:

VBA-koade:

2690

Utfier:

It sil de tekenrige splitse yn in array besteande út de earste 3 items skieden troch it skiedingsteken romte .

Dingen om te ûnthâlden:

  • It standertargumint is -1 .
  • Dat betsjut dat as jo it argumint net ynfiere, it sil splitst wurde de tekenrige yn it maksimale oantal mooglike kearen.

Lês mear: Hoe kinne jo string troch lingte yn Excel (8 manieren) splitse

3. Brûk sawol haadlettergefoelich as ûngefoelige skiedingsteken om in string in array te splitsen yn VBA

De Splitfunksje biedt jo sawol in gefoelige - as case-ûngefoelige skiedingsteken.

Foegje foar in case-ûngefoelige skiedingsteken it 4e argumint yn as 1.

En foar in hoofdlettergefoelige skiedingsteken, foegje it 4e argumint yn as 0 .

Foarbyld 1: Case-Insensitive Delimiter

Litte wy yn de opjûne tekenrige de tekst “FOR” beskôgje as de skiedingsteken en 2 as it totale oantal items fan de array.

No, foar in case-ûngefoelige gefal, sil de rigel koade wêze:

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

En de folsleine VBA-koade sil wêze:

VBA-koade:

9975

Utfier:

Om't it skiedingsteken hoofdletterûnsensitive hjir is, is de "FOR " sil wurkje as "foar" en it sil de tekenrige splitse yn in array fan twa items.

Foarbyld 2: Case-Sensitive Delimiter

Op 'e nij, foar in case-sensitive gefal, sil de rigel koade wêze:

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

En de folsleine VBA-koade sil wêze:

VBA-koade:

7042

Utfier:

Om't it skiedingsteken hoofdlettergefoel hjir is, is de " FOAR" sil net as "foar" en it sil de tekenrige net splitse yn in array fan twa items.

Lês mear: Excel VBA: Duplikaten fuortsmite fan in array (2 foarbylden)

Dingen om te ûnthâlden:

  • De standertwearde fan it argumint is 0 .
  • Dat is, as jo de wearde fan it 4e argumint net pleatse, it sil wurkje foar in hoofdlettergefoelige wedstriid.

Konklúzje

Dêrom kinne jo, mei dizze metoaden, de Splitfunksje fan VBA om in tekenrige te splitsen yn in array fan items. Hawwe jo noch fragen? Freegje it ús frij.

Hugh West is in tige betûfte Excel-trainer en analist mei mear as 10 jier ûnderfining yn 'e yndustry. Hy hat in bachelorstitel yn boekhâlding en finânsjes en in masterstitel yn bedriuwsadministraasje. Hugh hat in passy foar lesjaan en hat in unike lesoanpak ûntwikkele dy't maklik te folgjen en te begripen is. Syn saakkundige kennis fan Excel hat tûzenen studinten en professionals wrâldwiid holpen har feardigens te ferbetterjen en útblinke yn har karriêre. Troch syn blog dielt Hugh syn kennis mei de wrâld, en biedt fergese Excel-tutorials en online training om partikulieren en bedriuwen te helpen har folsleine potensjeel te berikken.