Sisällysluettelo
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:ksi3 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ä.