Ynhâldsopjefte
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.