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 matriisi, ja menetelmä, jota käytämme merkkijonon jakamiseen matriisiksi, on SPLIT-toiminto 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 oikein, että voimme jakaa merkkijonon taulukkoon käyttämällä VBA-koodausta, ja tässä erityisessä artikkelissa näytämme, kuinka jako merkkijono taulukkoon Excel VBA: ssa.

Mikä on jaettu merkkijono ryhmäksi?

Haluan selventää 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 meillä on toiminto nimeltä SPLIT. Tämä on VBA-toiminto, joka suorittaa tehtävän jakaa toimitettu merkkijonoarvo eri osiin annettujen erottimien perusteella.

Esimerkiksi, jos lause on ”Bangalore on Karnatakan pääkaupunki”, välilyönti on erotin jokaisen sanan välillä.

Alla on SPLIT-toiminnon syntaksi.

  • 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 yleisiä asioita, jotka erottavat jokaisen merkkijonon sanan. Lausekkeessamme "Bangalore on Karnatakan pääkaupunki" jokainen sana erotettu välilyönnillä, joten erottimemme on tilaa tässä.
  • (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 mahtuu yllä olevan merkkijonon jokaisen osan. Tässä on pidettävä mielessä, että koska lauseessa on enemmän 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, eli muuttujalla on jo merkkijonoarvo, joten kirjoita 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". Uusien sanojen näyttämiseksi 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, kuten alla olevassa kuvassa näkyy.

Muistettavaa

  • Taulukkoa ja silmukoita käytetään yhdessä koodin muuttamiseksi dynaamiseksi.
  • SPLIT-toiminto vaatii yhteisen erottimen, joka erottaa jokaisen lauseen sanan.
  • Matriisin pituus alkaa nollasta, ei 1: stä.

Mielenkiintoisia artikkeleita...