VBA Substring – Substringin tekeminen Excel-makrossa

author
3 minutes, 10 seconds Read

Substring on yksi kaikkien ohjelmointikielten suosituimmista funktioista. Se helpottaa tehtäviäsi, kun käsittelet merkkijonoja. Kuten nimestä voi päätellä, substring-funktio jakaa merkkijonon eri osiin tiettyjen kriteerien perusteella.

VBA:n Substring-funktioita on useita. Käytännön tilanteissa nämä substring-funktiot voivat olla varsin hyödyllisiä merkkijonon osan poimimisessa.

Tänään tässä postauksessa selitän kaikki VBA:n substring-funktiot, joita voit käyttää Excel-makroissa:

Sisällysluettelo

LEFT Substring-funktio:

Excel VBA:n LEFT-funktiota käytetään tietyn merkkimäärän hakemiseen merkkijonon alusta. LEFT-funktion syntaksi on seuraava:

LEFT (teksti_merkkijono, pituus)
  • Tässä ’teksti_merkkijono’ viittaa syötettyyn merkkijonoon, joka erotetaan.
  • ja ’pituus’ viittaa poimittavien merkkien määrään.

Esimerkkejä:

Vasen ("Exceltrick", 5) 'antaa tulokseksi "Excel"
Vasen ("SomeText", 4) 'antaa tulokseksi "Some"

Huomautus: Sen sijaan, että käyttäisit kovakoodattua merkkijonoa ensimmäisenä argumenttina, voit myös noutaa ’text_string’-merkkijonon excel-taulukosta, kuten esim. seuraavasta: ActiveSheet.Range(”A1”).

Oikea Substring- funktio:

Oikea merkkijonofunktio Excel VBA:ssa on juuri päinvastainen kuin vasen funktio. Se palauttaa määritetyn määrän merkkejä tekstijonon lopusta. RIGHT-funktion syntaksi on seuraava:

Right (teksti_merkkijono, pituus)
  • Tässä ’teksti_merkkijono’ viittaa syötettyyn merkkijonoon, joka erotetaan toisistaan.
  • Ja ’pituus’ viittaa irrotettavien merkkien lukumäärään, mutta irrottaminen aloitetaan oikealta puolelta.

Esimerkki:

Oikea ("Exceltrick", 5) 'antaa tulokseksi "temppu"
Oikea ("SomeText", 4) 'antaa tulokseksi "Teksti"

Huomautus: Sen sijaan, että käyttäisit kovakoodattua merkkijonoa ensimmäisenä argumenttina, voit myös noutaa ’teksti_merkkijonon’ excel-taulukkosivultasi muodossa ActiveSheet.Range(”A1”).

MID Substring-funktio:

MID on paljon parempi funktio kuin kaksi ensimmäistä, sillä se antaa sinulle mahdollisuuden määrittää uutetun merkkijonon alku- ja loppupisteen. VBA:n MID Substring-funktion syntaksi on seuraava:

Mid(teksti_merkkijono, alku_asento, pituus)
  • Tässä ’teksti_merkkijono’ viittaa syötettyyn merkkijonoon, joka halutaan erottaa.
  • ’start_position’ viittaa numeeriseen sijaintiin, josta erottelu aloitetaan.
  • Ja ’length’ viittaa erotettavien merkkien määrään.

Esimerkki:

MID ("Exceltrick", 2,4) 'antaa tulokseksi "celt"
MID ("SomeText", 4,4) 'antaa tulokseksi "Teksti"

Huomautus: Sen sijaan, että käyttäisit kovakoodattua merkkijonoa ensimmäisenä argumenttina, voit myös noutaa ’teksti_merkkijonon’ excel-taulukkosi tiedostosta muodossa ActiveSheet.Range(”A1”).

SPLIT Substring-funktio:

SPLIT-funktio on toinen VBA-funktio, jota voidaan käyttää merkkijonon alimerkkaamiseen tai jakamiseen. SPLIT-funktio voi olla erittäin kätevä, kun jaat merkkijonon useampaan osaan erottimen perusteella. Split-funktion syntaksi on seuraava:

Split (text_string, Delimiter, limit, Compare)
  • Tässä ’text_string’ viittaa syötettyyn merkkijonoon, joka halutaan erottaa toisistaan.
  • ’Delimiter’ viittaa rajamerkkiin, joka jakaa merkkijonon osiin. Tämä on valinnainen argumentti, jos se jätetään tyhjäksi, oletetaan välilyöntimerkin ” ” olevan oletusarvoinen erotinmerkki.
  • ’limit’ viittaa merkkijonon osien enimmäismäärään, joihin merkkijono jaetaan. Se on myös valinnainen argumentti, oletusarvo on (-1), mikä tarkoittaa, että alimerkkijonon pitäisi tapahtua jokaisessa kohdassa, jossa rajaaja kohdataan.
  • ’compare’ on valinnainen numeerinen arvo, joka määrittää vertailun, jota käytetään alimerkkijonoja arvioitaessa.

Esimerkki:

Esimerkiksi sinulla on tekstijono ”Tämä on tekstijono” ja nyt sinun on pilkottava tämä merkkijono yksittäisiksi sanoiksi, joten tässä tapauksessa käytät erottimena välilyöntiä ” ”. Split-funktiota käytetään seuraavasti:

Split ("Tämä on tekstijono", " ")

Tämän split-funktion tulos on sanojen joukko: ”Tämä” ”on” ”a” ”teksti” ”merkkijono”.

Suositeltavaa luettavaa: VBA Split Function

VBA Substring Macro Example:

Alhaalla olen luonut makron, joka havainnollistaa kaikki VBA-ohjelmoinnissa käytettävissä olevat osajonotekniikat. Tämä on yksinkertainen ja itsestään selvä makro, tässä olen yksinkertaisesti jakanut tekstijonon edellä kuvaamillani neljällä menetelmällä.

Alla on koodi, jota olen käyttänyt tässä makrossa:

Sub BreakStrings()
'Left-funktio
a = Left("Excel-tempputeksti", 5)
'Right-funktio
b = Right("Excel-tempputeksti", 11)
'Mid-funktio
c = Mid("Excel-tempputeksti", 1, 11)
'Split-funktio
d = Split("Excel Trick Text", " ")
For Each wrd In d
strg = strg & wrd & ", "
Next
'Tulosten näyttäminen mesage-ruutuun
MsgBox "Left: " & a & vbNewLine & "Right: " & b & vbNewLine & "Mid: " & c & vbNewLine & "Split: " & strg
End Sub

Tässä oli siis kyse VBA:n osajonofunktioista. Jaa näkemyksesi aiheeseen liittyen.

Similar Posts

Vastaa

Sähköpostiosoitettasi ei julkaista.