Tartalomjegyzék
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.xlsm3 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.