Merkkijonon jakaminen monisteeksi VBA:ssa (3 tapaa)

  • Jaa Tämä
Hugh West

Tässä artikkelissa näytän, miten voit jakaa merkkijonon array-muotoon ohjelmassa VBA . Split on yksi tärkeimmistä ja käytetyimmistä funktioista, joita käytämme ohjelmassa VBA Opit jakamaan merkkijonon vuonna VBA kaikilla mahdollisilla tavoilla.

VBA Split Function (Pikakatselu)

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

Lataa harjoituskirja

Jaa merkkijono array.xlsm:ksi

3 tapaa jakaa merkkijono monisteeksi VBA:ssa

Pidetään narua kädessä "Haimme viisumia Yhdysvalloista, Kanadasta, Australiasta ja Ranskasta." .

Näytän sinulle, miten voit jakaa tämän merkkijonon mallistoksi kaikilla mahdollisilla tavoilla käyttämällä komentoa Split-toiminto of VBA .

1. Minkä tahansa erottimen käyttäminen merkkijonon jakamiseen monisteeksi VBA:ssa

Voit käyttää mitä tahansa merkkijonoa erottimena jakaaksesi merkkijonon joukoksi osoitteessa VBA .

Se voi olla välilyönti (" ") , a pilkku (",") , a puolipiste (":") , yksittäinen merkki, merkkijono tai mikä tahansa.

Esimerkki 1:

Jaetaan merkkijono käyttämällä pilkku erotinmerkkinä.

Koodirivi on:

Arr = Split(Text, ",")

Täydellinen VBA-koodi on:

VBA-koodi:

 Sub Split_String() Text = "Haimme viisumia Yhdysvaltoihin, Kanadaan, Australiaan ja Ranskaan." Arr = Split(Text, ",") Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub 

Lähtö:

Se jakaa merkkijonon arrayksi, joka koostuu seuraavista osista {"Haimme viisumia Yhdysvalloista", "Kanadasta", "Australiasta", "Ranskasta"}.

Esimerkki 2:

Voit myös käyttää välilyönti (" ") erotinmerkkinä.

Koodirivi on:

Arr = Split(Text, " ")

Täydellinen VBA-koodi on:

VBA-koodi:

 Sub Split_String() Text = "Haimme viisumia Yhdysvaltoihin, Kanadaan, Australiaan ja Ranskaan." Arr = Split(Text, " ") Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub 

Lähtö:

Se jakaa merkkijonon arrayksi, joka koostuu seuraavista osista {"Me", "sovellettu", "for", "the", "visa", "of", "U.S.,", "Canada,", "Australia,", "France,"}.

Muistettavaa:

  • Oletusarvoinen erotin on välilyönti (" ") .
  • Toisin sanoen, jos et aseta mitään erotusmerkkiä, se käyttää merkkiä avaruus erotinmerkkinä.

Lue lisää: Jaa merkkijono merkin mukaan Excelissä (6 sopivaa tapaa)

Samanlaisia lukemia:

  • Tekstin jakaminen useisiin soluihin Excelissä
  • VBA hankkia ainutlaatuisia arvoja sarakkeesta Excel-monistoon (3 kriteeriä)
  • Excel VBA: Kuinka suodattaa useita kriteerejä Array-joukossa (7 tapaa)

2. Jaa merkkijono array-määräksi, jossa on mikä tahansa määrä kohteita.

Voit halutessasi jakaa merkkijonon matriisiksi, jossa on haluamasi määrä kohteita.

Aseta kohteiden lukumäärä Kolmas argumentti Split-toiminto .

Esimerkki:

Jaetaan merkkijono ensimmäiseen 3 kohteet, joissa on avaruus erotinmerkkinä.

Koodirivi on:

Arr = Split(Text, " ", 3)

Ja VBA-koodi on:

VBA-koodi:

 Sub Split_String() Text = "Haimme viisumia Yhdysvaltoihin, Kanadaan, Australiaan ja Ranskaan." Arr = Split(Text, " ", 3) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub 

Lähtö:

Se jakaa merkkijonon matriisiksi, joka koostuu ensimmäisestä 3 erät erotettuna erotinmerkillä avaruus .

Muistettavaa:

  • Oletusarvona on -1 .
  • Tämä tarkoittaa sitä, että jos et anna argumenttia, se jakaa merkkijonon niin monta kertaa kuin mahdollista.

Lue lisää: Kuinka jakaa merkkijono pituuden mukaan Excelissä (8 tapaa)

3. Käytä sekä isot ja pienet kirjaimet huomioivaa että tuntematonta erotinta merkkijonon jakamiseen VBA:ssa.

The Split-toiminto tarjoaa sinulle mahdollisuuden käyttää sekä case-sensitive ja case-insensitive erotin.

A case-insensitive erotin, lisää Neljäs argumentti kuin 1.

Ja varten case-insensitive erotin, lisää Neljäs argumentti kuin 0 .

Esimerkki 1: Isot ja pienet kirjaimet huomioiva erottelija

Tarkastellaan annetussa merkkijonossa tekstiä "FOR" erotinmerkkinä ja 2 on joukon elementtien kokonaismäärä.

Nyt, kun kyseessä on case-insensitive tapauksessa koodirivi on:

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

Ja täydellinen VBA-koodi on:

VBA-koodi:

 Sub Split_String() Text = "Haimme viisumia Yhdysvaltoihin, Kanadaan, Australiaan ja Ranskaan." 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 

Lähtö:

Koska erotin on case-insensitive täällä, - "FOR" toimii kuten "for" ja se jakaa merkkijonon kahden kohteen joukoksi.

Esimerkki 2: Isot ja pienet kirjaimet huomioiva erotinmerkki

Jälleen kerran, kun kyseessä on case-sensitive tapauksessa koodirivi on:

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

Ja täydellinen VBA-koodi on:

VBA-koodi:

 Sub Split_String() Text = "Haimme viisumia Yhdysvaltoihin, Kanadaan, Australiaan ja Ranskaan." 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 

Lähtö:

Koska erotin on case-sensitive täällä, - "FOR" ei niin "for" eikä se jaa merkkijonoa kahden kohteen joukoksi.

Lue lisää: Excel VBA: Poista kaksoiskappaleet monisteesta (2 esimerkkiä)

Muistettavaa:

  • Argumentin oletusarvo on 0 .
  • Toisin sanoen, jos et laita arvoa Neljäs argumentti, se toimii case-sensitive ottelu.

Päätelmä

Näiden menetelmien avulla voit siis käyttää komentoa Split-toiminto of VBA jakaa merkkijonon sarjaksi. Onko sinulla kysyttävää? Kysy rohkeasti meiltä.

Hugh West on erittäin kokenut Excel-kouluttaja ja analyytikko, jolla on yli 10 vuoden kokemus alalta. Hän on koulutukseltaan laskentatoimen ja rahoituksen kandidaatti sekä kauppatieteiden maisteri. Hughilla on intohimo opettamiseen, ja hän on kehittänyt ainutlaatuisen opetusmenetelmän, jota on helppo seurata ja ymmärtää. Hänen asiantuntemuksensa Excelistä on auttanut tuhansia opiskelijoita ja ammattilaisia ​​maailmanlaajuisesti parantamaan taitojaan ja menestymään urallaan. Blogissaan Hugh jakaa tietämyksensä maailman kanssa tarjoamalla ilmaisia ​​Excel-opetusohjelmia ja verkkokoulutusta auttaakseen yksilöitä ja yrityksiä saavuttamaan täyden potentiaalinsa.