VBA jakoi merkkijonon taulukkoon | Kuinka jakaa merkkijono taulukoksi Excel VBA: ssa?
Excel VBA jaa merkkijono taulukoksi
Merkkijono on kokoelma merkkejä, jotka on liitetty toisiinsa, kun nämä merkit jaetaan ja tallennetaan muuttujaan, muuttujasta tulee näiden merkkien taulukko, ja menetelmä, jota käytämme merkkijonon jakamiseen taulukkoksi, on SPLIT-funktio vba, joka jakaa merkkijonon yksiulotteiseksi merkkijonoksi.
Kuten VBA: n laskentataulukoissa, meillä on toimintoja, jotka käsittelevät merkkijono- tai teksti-arvoja. Olemme hyvin perehtyneitä merkkijonooperaatioihin, kuten kuusen nimen, sukunimen, keskinimen jne. Purkamiseen. Mutta entä ajatus jakaa merkkijono arvo matriiseiksi VBA: ssa? Kyllä, kuulit sen oikein. Voimme jakaa merkkijonon taulukkoon käyttämällä VBA-koodausta, ja tässä erityisessä artikkelissa näytämme sinulle, kuinka merkkijono jaetaan taulukkoon Excel VBA: ssa.
Mikä on jaettu merkkijono ryhmäksi?
Haluan selventää tätä ensin: "String into Array" ei ole muuta kuin "virkkeen tai merkkijonon eri osat jaetaan useisiin osiin". Esimerkiksi, jos lause on ”Bangalore on Karnatakan pääkaupunki”, jokainen sana on erilainen taulukko.
Joten miten tämä lause jaetaan taulukoksi, on tämän artikkelin aihe.
Kuinka muuntaa jaettu merkkijono taulukoksi Excel VBA: ssa?
Jaetun merkkijonon muuntamiseksi matriisiksi VBA: ssa on funktio nimeltä SPLIT. Tämä on VBA-toiminto, joka suorittaa tehtävän jakaa toimitetun merkkijonon arvo eri osiin annettujen erottimien perusteella.
Esimerkiksi, jos lause on ”Bangalore on Karnatakan pääkaupunki”, välilyönti on kunkin sanan välinen erotin.
Alla on SPLIT-funktion syntaksit.
- Arvo tai lauseke: Tämä on merkkijono tai teksti-arvo, jonka yritämme muuntaa taulukoksi erottamalla merkkijonon jokaisen osan.
- [Erotin]: Tämä ei ole muuta kuin yleiset asiat, jotka erottavat jokaisen merkkijonon sanan. Lausekkeessamme "Bangalore on Karnatakan pääkaupunki" jokainen sana erotettu välilyönnillä, joten erotin on avaruus täällä.
- [Raja]: Raja ei ole muuta kuin kuinka monta osaa haluamme tuloksena. Esimerkiksi lauseessa "Bangalore on Karnatakan pääkaupunki" meillä on seitsemän osaa, jos tarvitsemme vain kolme osaa, saamme ensimmäisen osan nimellä "Bangalore", toisen osan "on" ja kolmannen osan loppuosan. lause "Karnatakan pääkaupunki".
- [Vertaa]: Tätä ei käytetä 99% ajasta, joten älä kosketa tätä tässä vaiheessa.
Esimerkki 1
Ok, nyt katsotaan käytännön esimerkkejä.
Vaihe 1: Määritä VBA-muuttuja pitämään merkkijonoarvo.
Koodi:
Sub String_To_Array () Dim StringValue merkkijonon lopussa Sub
Vaihe 2: Määritä tälle muuttujalle merkkijono "Bangalore on Karnatakan pääkaupunki".
Koodi:
Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore on Karnatkan pääkaupunki" End Sub
Vaihe 3: Määritä seuraavaksi yksi muuttuja, joka voi pitää yllä yllä olevan merkkijonon jokaisen osan. Tässä on pidettävä mielessä, että koska lauseessa on useampi kuin yksi sana, meidän on määriteltävä muuttuja nimellä "Array" pitämään useampi kuin yksi arvo.
Tässä tapauksessa merkkijonossa on 7 sanaa, joten määritä taulukko seuraavasti.
Koodi:
Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore on Karnatkan pääkaupunki" Dim SingleValue () As String End Sub
Tätä matriisimuuttujaa varten käytämme SPLIT-funktiota jakamaan merkkijono taulukoksi Excel VBA: ssa.
Koodi:
Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore on Karnatakan pääkaupunki" Dim SingleValue () As String SingleValue = Split (StringValue, "") End Sub
Lauseke on merkkijonomme arvo, ts. Muuttujalla on jo merkkijonoarvo, joten syötä vain muuttujan nimi.
Tämän merkkijonon erotin on välilyönti, joten anna sama.
Koodi:
Sub String_To_Array () Dim StringValue As String StringValue = "Bangalore on Karnatakan pääkaupunki" Dim SingleValue () As String SingleValue = Split (StringValue, "") End Sub
Jätä nyt SPLIT-toiminnon muut osat.
SPLIT-funktio jakoi merkkijonon arvon 7 osaan, jokainen sana erotettiin välilyönnin kustannuksella. Koska olemme ilmoittaneet muuttujan ”SingleValue” matriisina, voimme määrittää kaikki 7 arvoa tälle muuttujalle.
Voimme kirjoittaa koodin seuraavasti.
Koodi:
Sub String_To_Array () Dim StringValue Kuten String StringValue = "Bangalore on Karnatakan pääkaupunki" Dim SingleValue () As String SingleValue = Split (StringValue, "") MsgBox SingleValue (0) End Sub
Suorita koodi ja katso mitä saamme viestiruudusta.
Tästä lähtien voimme nähdä ensimmäisen sanan eli "Bangalore" osoittamaan muita sanoja, voimme kirjoittaa koodin seuraavasti.
Koodi:
Sub String_To_Array () Dim StringValue Kuten String StringValue = "Bangalore on Karnatakan pääkaupunki" Dim SingleValue () As String SingleValue = Split (StringValue, "") MsgBox SingleValue (0) & vbNewLine & SingleValue (1) & vbNewLine & SingleValue (2) & vbNewLine & SingleValue (3) & _vbNewLine & SingleValue (4) & vbNewLine & SingleValue (5) & vbNewLine & SingleValue (6) Loppuosa
Suorita nyt koodi ja katso mitä saamme viestiruudusta.
Jokainen sana on jaettu taulukoihin.
Esimerkki 2
Kuvittele nyt tilanne, jossa nämä arvot tallennetaan soluihin eli jokainen sana erilliseen soluun. Tätä varten meidän on sisällytettävä FOR NEXT -silmukka VBA: hon.
Alla oleva koodi lisää jokaisen sanan erillisiin soluihin.
Sub String_To_Array1 () Dim StringValue As String StringValue = "Bangalore on Karnatakan pääkaupunki" Dim SingleValue () As String SingleValue = Split (StringValue, "") Dim k As Integer K = 1 - 7 solua (1, k) .Arvo = SingleValue (k - 1) Seuraava k End Sub
Tämä lisää jokaisen sanan alla olevan kuvan mukaisesti.
Muistettavaa
- Taulukkoa ja silmukoita käytetään yhdessä koodin muuttamiseksi dynaamiseksi.
- SPLIT-toiminto vaatii yhteisen erottimen, joka erottaa jokaisen sanan sanan.
- Matriisin pituus alkaa nollasta, ei 1: stä.