Excel VBA SubString
Excel VBA SubString on erittäin käyttökelpoinen VBA:n funktiotyyppi, jolla voidaan pilkkoa tietoja merkkijonon muodossa. Mutta työarkkitehtitoiminnoissa meillä on kolme alimerkkijonofunktiota, jotka ovat vasen-oikea ja keskimmäinen funktio, kun taas VBA:ssa meillä on vasen-oikea, keskimmäinen ja jaettu funktio alimerkkijonofunktioina. Kuten nimestä voi päätellä, VBA:n alimerkkijonofunktio jakaa merkkijonon useisiin alimerkkijonoihin. Kuten edellä on selitetty, VBA:ssa on myös useita VBA:n Substring-funktioita. Tässä artikkelissa opettelemme käyttämään näitä substring-funktioita erikseen esimerkkien avulla. Ennen kuin siirrymme esimerkkeihin, opettelemme ensin näiden funktioiden syntaksin ja sen, minkä argumentin nämä funktiot ottavat syötteeksi.
Excel VBA SubStringin syntaksi
Seuraavat ovat eri syntaksit:
Katsele demokurssejamme ja -videoitamme
Arviointikurssi, Hadoop, Excel, Mobiilisovellukset, Verkkosovelluskehitys & moni muu.
Vasemman alimerkkijonon funktion syntaksi:
Tekstijono on merkkijono, jonka annamme syötteenä, kun taas pituus on syötteen merkkijonosta haluamiemme merkkien määrä.
Esimerkki: Jos meillä on merkkijono ANAND ja haluamme AN:n alimerkkijonoksi, koodi on
Vasen (”ANAND”,2)
Oikean alimerkkijonon funktion syntaksi:
Tekstijono on merkkijono, jonka annamme syötteenä, kun taas pituus on syötteestä haluamiemme merkkien määrä: Jos meillä on merkkijono ANAND ja käytämme samaa koodia kuin edellä, tulos on
Oikea (”ANAND”,2)
Tämä antaa tulokseksi ND.
VBA:n Mid SubString-funktion syntaksi:
Tekstijono on merkkijono, jonka annamme syötteeksi, ja Aloituskohta on kohta, josta haluamme merkin alkavan poimittavaksi, kun taas Pituus on merkkien määrä, jonka haluamme syötetystä merkkijonosta.
Aloitusasento on kohta, josta haluamme merkin alkavan poimittavaksi: Meillä on merkkijono nimellä COMPUTER ja haluamme PUTTAA sen osajonoksi niin koodi on seuraava:
MID (”COMPUTER”,4,3)
Syntax of Split SubString Function:
- Expression As String: Tämä on pakollinen argumentti SPLIT-funktiossa. Se on periaatteessa antamamme syöttömerkkijono.
- Delimiter: Tämä on valinnainen argumentti. Se on erityinen rajaaja, joka jakaa merkkijonon, mutta oletusarvoisesti välilyöntiä pidetään oletusarvoisena rajaajana.
- Limit: Tämä on myös valinnainen argumentti. Limit tarkoittaa merkkijonon osien enimmäismäärää, jonka haluamme tehdä. Mutta tässäkin tapauksessa, jos emme anna funktiolle rajaa, VBA käsittelee sitä oletusarvona -1. Tästä seuraa, että merkkijono hajotetaan osiin aina, kun merkkijonossa on rajaaja.
- Vertaile: Tämä viimeinen argumentti on myös valinnainen argumentti. Compare on vertailumenetelmä, joka on jompikumpi kahdesta alla olevasta:
- Joko se on 0, mikä tarkoittaa, että SPLIT suorittaa binäärivertailun, mikä tarkoittaa, että jokaisen merkin pitäisi vastata itseään.
- Tai se voi olla 1, mikä tarkoittaa, että SPLIT-funktio suorittaa tekstivertailun.
Split-funktio on hankalin ja käyttökelpoisin niistä kaikista edellä mainituista alisäikeistämisfunktioista. Kaikki kolme muuta osajonofunktiota käyttävät syötteenä yhtä merkkijonoa, kun taas Split-funktio käyttää merkkijonojen joukkoa.
Jos esimerkiksi kirjoitan Split(”I AM A GOOD BOY”) jakaa merkkijonon erikseen (jokainen sana erikseen). Käyttäkäämme nyt näitä alimerkkijonofunktioita esimerkeissä.
How to Use SubString Functions in VBA?
Oppiaksemme käyttämään SubString-funktiota Excelissä VBA-koodin avulla.
Esimerkki #1
Vasemmanpuoleinen Substring-funktio VBA:ssa. Käytetään ensimmäistä osajonofunktiota VBA:ssa. Seuraa tätä varten seuraavia vaiheita:
Vaihe 1: Siirry kehittäjän välilehdelle ja avaa VB-editori napsauttamalla Visual Basic.
Vaihe 2: Lisää uusi moduuli Visual Basic Editorin (VBE) sisään. Napsauta Lisää-välilehteä > valitse Moduuli.
Vaihe 3: Ilmoita alatoiminto, jotta voit aloittaa koodin kirjoittamisen.
Koodi:
Sub Sample()End Sub
Vaihe 4: Julistetaan kaksi merkkijonoa joista toinen ottaa syötteen käyttäjältä ja toinen tallentaa tuloksen arvon.
Koodi:
Sub Sample()Dim A, B As StringEnd Sub
Vaihe 5: Otetaan käyttäjältä syöttömerkkijonon syöttö input box -funktiolla.
Koodi:
Sub Sample()Dim A, B As StringA = InputBox("Enter a String", "Single String")End Sub
Vaihe 6: Tallenna B-muuttujaan vasemmanpuoleisen funktion arvo kolmanteen kohtaan asti.
Koodi:
Sub Sample()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Left(A, 3)End Sub
Vaihe 7: Käytä Msgbox-funktiota lopputuloksen näyttämiseen.
Koodi:
Sub Sample()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Left(A, 3)MsgBox BEnd Sub
Vaihe 8: Suorita nyt ylläoleva koodi painamalla F5-näppäintä. ja Kirjoita syöttömerkkijono muodossa ANAND.
Vaihe 9: Kun painamme OK-näppäintä, näemme vasemmanpuoleisen alimerkkijonofunktion tuloksen.
ANA on kolme merkkiä merkkijonon vasemmalta puolelta.
Esimerkki nro 2
OIKEANpuoleinen alimerkkijono-toiminto VBA:ssa. Tätä varten noudata seuraavia vaiheita:
Vaihe 1: Ilmoita samassa moduulissa toinen alatoiminto, jotta voit aloittaa oikean alimerkkijonofunktion koodin kirjoittamisen.
Koodi:
Sub Rightsub()End Sub
Vaihe 2: Ilmoita kaksi muuttujaa A ja B merkkijonoksi.
Koodi:
Sub Rightsub()Dim A, B As StringEnd Sub
Vaihe 3: Otetaan syöttö käyttäjältä ja tallennetaan arvo muuttujaan A.
Koodi:
Sub Rightsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")End Sub
Vaihe 4: Käytä Oikea-funktiota merkkijonoon kolmanteen kohtaan ja tallenna arvo B-muuttujaan.
Koodi:
Sub Rightsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Right(A, 3)End Sub
Vaihe 5: Käytä Msgbox-funktiota näyttääksesi B:n arvon.
Koodi:
Sub Rightsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Right(A, 3)MsgBox BEnd Sub
Vaihe 6: Suorita koodi ja syötä syöttömerkkijono muotoon ”ÄITI”.
Vaihe 7: Paina OK nähdäksesi tuloksen.
HER on kolme merkkiä merkkijonon oikealta puolelta.
Esimerkki #3
MID Substring-funktio VBA:ssa. Tätä varten noudata seuraavia vaiheita:
Vaihe 1: Ilmoita samassa moduulissa toinen alitoiminto, jotta voit aloittaa Mid-funktion koodin kirjoittamisen.
Koodi:
Sub MIDsub()End Sub
Vaihe 2: Ilmoita kaksi muuttujaa A ja B merkkijonoksi.
Koodi:
Sub MIDsub()Dim A, B As StringEnd Sub
Vaihe 3: Ota syöttö käyttäjältä ja tallenna arvo muuttujaan A.
Koodi:
Sub MIDsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")End Sub
Vaihe 4: Käytä Mid-funktiota, jonka alkuasento on 4 ja pituus 3. Tallenna arvo B:hen ja näytä se Msgbox-funktiolla.
Koodi:
Sub MIDsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Mid(A, 4, 3)MsgBox BEnd Sub
Vaihe 5: Suorita yllä oleva koodi ja anna syötteeksi COMPUTER.
Vaihe 6: Paina OK nähdäksesi lopputuloksen.
Alimerkkijono PUT alkaa 4. kohdasta ja olemme onnistuneesti poimineet kolme merkkiä.
Esimerkki #4
VBA Split SubString Function. Tätä varten noudata seuraavia vaiheita:
Vaihe 1: Ilmoita samassa moduulissa alifunktio, jotta voit aloittaa alifunktion koodin kirjoittamisen.
Koodi:
Sub SplitSub()End Sub
Vaihe 2: Ilmoita kaksi muuttujaa A merkkijonoksi ja B merkkijonojoukoksi ja ota syöttömerkkijono käyttäjän syötteestä ja tallenna se muuttujaan A.
Code:
Sub SplitSub()Dim A As StringDim B() As StringA = InputBox("Enter a String", "Separate with Commas")End Sub
Vaihe 3: Käytä Split SubString-funktiota ja tallenna sen arvo muuttujaan B.
Koodi:
Sub SplitSub()Dim A As StringDim B() As StringA = InputBox("Enter a String", "Separate with Commas")B = Split(A, ",")End Sub
Vaihe 4: Käytä For-silmukkaa näyttämään jokainen SubString yhdellä rivillä.
Koodi:
Sub SplitSub()Dim A As StringDim B() As StringA = InputBox("Enter a String", "Separate with Commas")B = Split(A, ",")For i = LBound(B) To UBound(B)strg = strg & vbNewLine & "String Number " & i & " - " & B(i)Next iMsgBox strgEnd Sub
Vaihe 5 Suorita yllä oleva koodi ja anna syötteenä I,AM,GOOD,BOY.
Vaihe 6: Paina OK nähdäksesi tuloksen.
Oheisessa esimerkissä käytimme ”,” -merkkiä erottimena.
Johtopäätökset
Vaikka taulukkolaskentaikkunan merkkijonofunktiot VBA:lla on myös merkkijonofunktioita. Ne ovat Left Right Mid ja Split Functions. Periaatteessa Substring-funktiot jakavat merkkijonon tai merkkijonojen joukon useisiin osajonoihin. Jos haluamme osajonon merkkijonon vasemmalta puolelta, käytämme Vasen-funktiota tai päinvastaisessa tapauksessa Oikea-funktiota. Jos haluamme jonkin merkkijonon keskimmäisen merkin, käytämme MID-funktioita. Myös jos meillä on joukko merkkijonoja, käytämme split-funktioita.
Muistettavaa
VBA:n Substring-funktioista on muistettava muutama asia:
- Se on samankaltainen kuin laskentataulukon substring-funktiot.
- Substring-funktiot jakavat annetun merkkijonon alimerkkijonoihin.
- Jos meillä on joukko merkkijonoja, käytämme split-funktioita.
- Jos split-funktiossa vain syöttömerkkijono on pakollinen, kun taas muut ovat valinnaisia.
Suositeltavat artikkelit
Tämä on opas VBA:n SubString. Tässä käsitellään SubString-funktion käyttöä Excel VBA:ssa yhdessä käytännön esimerkkien ja ladattavan Excel-mallin kanssa. Voit myös tutustua muihin ehdotettuihin artikkeleihimme –
- VBA SendKeys
- VBA On Error Goto
- VBA Input
- VBA LBound