Hogyan lehet egy karakterláncot tömbre osztani a VBA-ban (3 mód)

  • Ossza Meg Ezt
Hugh West

Ebben a cikkben megmutatom, hogyan lehet egy karakterláncot tömbre osztani a VBA . Split az egyik legfontosabb és legszélesebb körben használt függvény, amelyet a VBA Megtanulod, hogyan kell egy karakterláncot szétválasztani. VBA minden lehetséges módon.

VBA osztott funkció (gyorsnézet)

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

Gyakorlati munkafüzet letöltése

Egy karakterlánc tömbre osztása.xlsm

3 módja egy karakterlánc tömbre osztásának a VBA-ban

Legyen egy madzag a kezünkben. "Az Egyesült Államok, Kanada, Ausztrália és Franciaország vízumát kértük." .

Megmutatom, hogyan lehet ezt a karakterláncot minden lehetséges módon tömbre osztani a Osztott funkció a VBA .

1. Bármilyen elválasztójel használata egy karakterlánc tömbre osztásához a VBA-ban

Bármilyen karakterláncot használhatsz elválasztóként, hogy egy karakterláncot tömbre osszálj a VBA .

Ez lehet egy szóköz (" ") , a vessző (",") , a pontosvessző (":") , egyetlen karakter, karakterlánc vagy bármi más.

Példa 1:

Osszuk fel a karakterláncot a vessző mint elválasztójel.

A kódsor a következő lesz:

Arr = Split(Text, ",")

A teljes VBA kód lesz:

VBA-kód:

 Sub Split_String() Text = "Az USA, Kanada, Ausztrália és Franciaország vízumát igényeltük." Arr = Split(Text, ",") Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub 

Kimenet:

A karakterláncot egy tömbre osztja fel, amely a következőkből áll {"Az Egyesült Államok, Kanada, Ausztrália, Franciaország vízumát igényeltük", "Kanada", "Ausztrália", "Franciaország"}.

2. példa:

Használhat egy szóköz (" ") mint elválasztójel.

A kódsor a következő lesz:

Arr = Split(Text, " ")

A teljes VBA kód lesz:

VBA-kód:

 Sub Split_String() Text = "Az USA, Kanada, Ausztrália és Franciaország vízumát igényeltük." Arr = Split(Text, " ") Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub 

Kimenet:

A karakterláncot egy tömbre osztja fel, amely a következőkből áll {"Mi", "alkalmazott", "a", "a", "vízum", "az", "USA", "Kanada", "Ausztrália", "Franciaország", "}.

Emlékezetes dolgok:

  • Az alapértelmezett elválasztójel egy szóköz (" ") .
  • Vagyis, ha nem illesztünk be semmilyen elválasztójelet, akkor egy űr mint elválasztójel.

Bővebben: Karakterlánc felosztása karakterek szerint az Excelben (6 megfelelő mód)

Hasonló olvasmányok:

  • Szöveg felosztása több cellára az Excelben
  • VBA az egyedi értékek megszerzéséhez az oszlopból az Excel-táblázatba (3 kritérium)
  • Excel VBA: Hogyan szűrhet több kritériummal a tömbben (7 mód)

2. Egy karakterlánc felosztása tetszőleges számú elemet tartalmazó tömbre

Egy karakterláncot tetszőleges számú elemet tartalmazó tömbre oszthatsz fel, tetszés szerint.

Írja be a tételek számát a 3. érv a Osztott funkció .

Példa:

Osszuk fel a karakterláncot az első 3 tételek egy űr mint elválasztójel.

A kódsor a következő lesz:

Arr = Split(Text, " ", 3)

És a VBA kód lesz:

VBA-kód:

 Sub Split_String() Text = "Az USA, Kanada, Ausztrália és Franciaország vízumát igényeltük." Arr = Split(Text, " ", 3) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub 

Kimenet:

A karakterláncot egy tömbre osztja fel, amely az első 3 az elhatárolójelekkel elválasztott elemek űr .

Emlékezetes dolgok:

  • Az alapértelmezett argumentum -1 .
  • Ez azt jelenti, hogy ha nem adod meg az argumentumot, akkor a lehető legtöbbször fogja felosztani a karakterláncot.

Bővebben: Hogyan lehet a karakterláncot hossz szerint felosztani az Excelben (8 mód)

3. Nagy- és kisbetű-érzékeny és érzéketlen elválasztó használata egy karakterlánc vagy tömb felosztásához a VBA-ban

A Osztott funkció felajánlja, hogy mind a case-sensitive és case-insensitive elhatároló.

Egy case-insensitive elválasztójelet, illessze be a 4. érv, mint 1.

És egy case-insensitive elválasztójelet, illessze be a 4. érv, mint 0 .

Példa 1: Nagy- és kisbetű-érzékeny elválasztójel

Az adott karakterláncban tekintsük a következő szöveget "FOR" mint elválasztójel és 2 mint a tömb elemeinek teljes száma.

Most, egy case-insensitive esetben a kódsor a következő lesz:

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

És a teljes VBA kód lesz:

VBA-kód:

 Sub Split_String() Text = "Az USA, Kanada, Ausztrália és Franciaország vízumát igényeltük." Arr = Split(Text, "FOR", 2, 1) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub 

Kimenet:

Mivel az elválasztójel case-insensitive itt, a "FOR" úgy fog működni, mint "for" és a karakterláncot egy két elemből álló tömbre osztja.

Példa 2: Nagy- és kisbetű-érzékeny elválasztójelek

Ismét egy case-sensitive esetben a kódsor a következő lesz:

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

És a teljes VBA kód lesz:

VBA-kód:

 Sub Split_String() Text = "Az USA, Kanada, Ausztrália és Franciaország vízumát igényeltük." Arr = Split(Text, "FOR", 2, 0) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub 

Kimenet:

Mivel az elválasztójel case-sensitive itt, a "FOR" nem lesz olyan "for" és nem fogja a karakterláncot két elemből álló tömbre osztani.

Bővebben: Excel VBA: Duplikátumok eltávolítása egy tömbből (2 példa)

Emlékezetes dolgok:

  • Az argumentum alapértelmezett értéke 0 .
  • Azaz, ha nem teszed az értékét a 4. argumentummal, akkor egy case-sensitive mérkőzés.

Következtetés

Ezért ezeknek a módszereknek a használatával a Osztott funkció a VBA hogy egy karakterláncot elemtömbökre osszon fel. Kérdése van? Kérdezzen bátran.

Hugh West nagy tapasztalattal rendelkező Excel-oktató és elemző, több mint 10 éves tapasztalattal az iparágban. Számvitel és pénzügy szakos alapdiplomát, valamint üzleti adminisztrációból mesterképzést szerzett. Hugh szenvedélye a tanítás, és egyedülálló tanítási megközelítést dolgozott ki, amely könnyen követhető és érthető. Az Excelben szerzett szakértői tudása világszerte több ezer diáknak és szakembernek segített abban, hogy készségeiket és karrierjüket kiválóan teljesítsék. Hugh blogján keresztül megosztja tudását a világgal, ingyenes Excel-oktatóanyagokat és online képzéseket kínálva, hogy segítse az egyéneket és a vállalkozásokat teljes potenciáljuk kibontakoztatásában.