Kuidas jagada stringi VBA-s massiiviks (3 võimalust)

  • Jaga Seda
Hugh West

Selles artiklis näitan teile, kuidas saate jagada stringi massiiviks massiivis VBA . Jagatud on üks tähtsamaid ja enim kasutatavaid funktsioone, mida me kasutame programmis VBA Sa õpid jagama stringi. VBA kõikvõimalikel viisidel.

VBA jagatud funktsioon (Kiirvaade)

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

Lae alla praktiline töövihik

Stringi jagamine array.xlsm'ks

3 viisi, kuidas jagada string VBA-s massiiviks

Olgu meil nöör käes "Taotlesime viisat USAst, Kanadast, Austraaliast ja Prantsusmaalt." .

Näitan teile, kuidas saate jagada selle stringi massiiviks kõikvõimalikel viisidel, kasutades selleks Jagatud funktsioon aadressilt VBA .

1. Kasutage VBAs ükskõik millist eraldajat, et jagada string massiivi massiivi jaoks

Saate kasutada ükskõik millist stringi eraldajana, et jagada string massiivi massiivi sisse VBA .

See võib olla tühik (" ") , a koma (",") , a semikoolon (":") , üksikmärk, tähemärkide jada või mis tahes.

Näide 1:

Jagame stringi kasutades koma eraldaja.

Koodirida on järgmine:

Arr = Split(Text, ",")

Täielik VBA kood on:

VBA kood:

 Sub Split_String() Text = "Taotlesime USA, Kanada, Austraalia ja Prantsusmaa viisat." Arr = Split(Text, ",") Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub 

Väljund:

See jagab stringi massiivi, mis koosneb järgmistest elementidest {"Me taotlesime viisat USAst", "Kanadast", "Austraaliast", "Prantsusmaalt"}.

Näide 2:

Võite kasutada ka tühik (" ") eraldaja.

Koodirida on järgmine:

Arr = Split(Text, " ")

Täielik VBA kood on:

VBA kood:

 Sub Split_String() Text = "Taotlesime USA, Kanada, Austraalia ja Prantsusmaa viisat." Arr = Split(Text, " ") Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub 

Väljund:

See jagab stringi massiivi, mis koosneb järgmistest elementidest {"Me", "kohaldatud", "for", "the", "visa", "of", "U.S.,", "Canada,", "Australia,", "France,"}.

Asjad, mida meeles pidada:

  • Vaikimisi eraldaja on tühik (" ") .
  • See tähendab, et kui te ei sisesta mingit eraldajat, siis kasutab ta kosmos eraldaja.

Loe edasi: Stringi jagamine tähemärgi järgi Excelis (6 sobivat viisi)

Sarnased lugemised:

  • Teksti jagamine mitmesse lahtrisse Excelis
  • VBA, et saada unikaalsed väärtused veerust Exceli massiivi (3 kriteeriumi)
  • Excel VBA: Kuidas filtreerida mitme kriteeriumi abil massiivi (7 võimalust)

2. Stringi jagamine suvalise arvu elementidega massiivi jaoks

Saate jagada stringi mistahes arvu elementidega massiiviks vastavalt oma soovile.

Sisestage elementide arv kui Kolmas argument Jagatud funktsioon .

Näide:

Jagame stringi esimeseks 3 esemed, millel on kosmos eraldaja.

Koodirida on järgmine:

Arr = Split(Text, " ", 3)

Ja VBA kood on:

VBA kood:

 Sub Split_String() Text = "Taotlesime USA, Kanada, Austraalia ja Prantsusmaa viisat." Arr = Split(Text, " ", 3) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub 

Väljund:

See jagab stringi massiivi, mis koosneb esimesest 3 elemendid, mis on eraldatud eraldusjoonega kosmos .

Asjad, mida meeles pidada:

  • Vaikimisi argument on -1 .
  • See tähendab, et kui te ei sisesta argumenti, jagab see stringi maksimaalselt võimalikuks.

Loe edasi: Kuidas jagada string pikkuse järgi Excelis (8 võimalust)

3. Kasutage VBA-s nii suur- kui ka väiketähelepanu tundmatut eraldajat, et jagada stringi ja massiivi.

The Jagatud funktsioon pakub teile võimalust kasutada nii suur- ja väiketähelepanu ja suur- ja väiketähelepanuta piiritleja.

Sest suur- ja väiketähelepanuta eraldaja, sisestage Neljas argument nagu 1.

Ja et suur- ja väiketähelepanuta eraldaja, sisestage Neljas argument nagu 0 .

Näide 1: Suur- ja väiketähtedega eraldaja

Vaatleme antud stringis teksti "FOR" eraldusjoonena ja 2 kui massiivi elementide koguarv.

Nüüd, et suur- ja väiketähelepanuta juhul on koodirida:

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

Ja täielik VBA kood on:

VBA kood:

 Sub Split_String() Text = "Taotlesime USA, Kanada, Austraalia ja Prantsusmaa viisat." 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 

Väljund:

Kuna eraldaja on suur- ja väiketähelepanuta siin on "FOR" töötab nagu "jaoks" ja see jagab stringi kahest elemendist koosnevaks massiiviks.

Näide 2: Suur- ja väiketähenduslik eraldaja

Jällegi, et suur- ja väiketähelepanu juhul on koodirida:

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

Ja täielik VBA kood on:

VBA kood:

 Sub Split_String() Text = "Taotlesime USA, Kanada, Austraalia ja Prantsusmaa viisat." 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 

Väljund:

Kuna eraldaja on suur- ja väiketähelepanu siin on "FOR" ei ole nii "jaoks" ja see ei jaga stringi kahest elemendist koosnevaks massiiviks.

Loe edasi: Excel VBA: dubleeringute eemaldamine massiivist (2 näidet)

Asjad, mida meeles pidada:

  • Argumendi vaikeväärtus on 0 .
  • See tähendab, et kui te ei pane väärtust Neljas argument, see töötab suur- ja väiketähelepanu mängu.

Kokkuvõte

Seetõttu saate nende meetodite abil kasutada Jagatud funktsioon aadressilt VBA et jagada string elemendimassiiviks. Kas teil on küsimusi? Küsige julgelt.

Hugh West on suurte kogemustega Exceli koolitaja ja analüütik, kellel on selles valdkonnas üle 10-aastane kogemus. Tal on raamatupidamise ja rahanduse bakalaureusekraad ning ärijuhtimise magistrikraad. Hugh’l on kirg õpetamise vastu ning ta on välja töötanud ainulaadse õpetamisviisi, mida on lihtne järgida ja mõista. Tema Exceli ekspertteadmised on aidanud tuhandetel õpilastel ja spetsialistidel üle maailma oma oskusi parandada ja karjääris silma paista. Oma ajaveebi kaudu jagab Hugh oma teadmisi maailmaga, pakkudes tasuta Exceli õpetusi ja veebikoolitusi, mis aitavad üksikisikutel ja ettevõtetel oma potentsiaali täielikult ära kasutada.