VBA: ssa on monia merkkijonotoimintoja, joiden avulla voit käsitellä koodisi tekstiä ja merkkijonoja ja käsitellä niitä. Tässä opetusohjelmassa aiomme käsitellä toimintoja, joiden avulla voit poimia alimerkkijonoja merkkijonoista, poistaa välilyöntejä merkkijonoista, muuntaa tekstin tai merkkijonon tapauksen, vertailla merkkijonoja ja muita hyödyllisiä merkkijonotoimintoja.
Alamerkin purkaminen
VBA -vasemman merkkijonon toiminto
VBA Left Function -toiminnon avulla voit poimia alimerkkijonon tekstistä tai merkkijonosta vasemmalta puolelta alkaen. VBA: n vasemman merkkijonon funktion syntaksi on:
Vasen (merkkijono, merkkien määrä) missä:
- Jono - alkuperäinen teksti.
- Merkkien lukumäärä - Kokonaisluku, joka määrittää alkuperäisestä tekstistä otettavien merkkien määrän alusta alkaen.
Seuraava koodi näyttää, kuinka voit käyttää vasemman merkkijonon toimintoa annetun merkkijonon neljän ensimmäisen merkin poimimiseen:
1234567891011 | Sub KäyttäenLeftStringFunction ()Himmennä arvo Yksi merkkijononaDim -arvo Kaksi merkkijonoavalueOne = "AutomateExcel"valueTwo = Vasen (valueOne, 4)MsgBox -arvo KaksiEnd Sub |
Tulos on:
Vasen toiminto on poiminut AutomateExcelin neljä ensimmäistä kirjainta, jotka ovat automaattisia.
VBA -oikean merkkijonon toiminto
VBA Right Function -toiminnon avulla voit poimia alimerkkijonon tekstistä tai merkkijonosta alkaen oikealta puolelta. VBA -oikean merkkijonon funktion syntaksi on:
Oikea (merkkijono, merkkien määrä) missä:
- Jono - alkuperäinen teksti.
- Merkkien lukumäärä - Kokonaisluku, joka määrittää alkuperäisestä tekstistä poimittavien merkkien määrän lopusta alkaen.
Seuraava koodi näyttää, miten oikean merkkijonon avulla voit purkaa merkkijonon neljä viimeistä merkkiä:
1234567891011 | Osa käyttämällä oikeaa merkkijonotoimintoa ()Himmennä arvo Yksi merkkijononaDim -arvo Kaksi merkkijonoavalueOne = "AutomateExcel"valueTwo = Oikea (valueOne, 4)MsgBox -arvo KaksiEnd Sub |
Tulos on:
Oikea funktio on poiminut AutomateExcelin neljä viimeistä kirjainta, jotka ovat xcel.
VBA Mid String -toiminto
VBA -keskitoiminnon avulla voit poimia alimerkkijonon tekstistä tai merkkijonosta mistä tahansa määritetyn merkkijonon paikasta alkaen. VBA Mid String -toiminnon syntaksi on:
Keskellä (merkkijono, aloituspaikka, [merkkien määrä]) missä:
- Jono - alkuperäinen teksti.
- Aloituspaikka - Paikka alkuperäisessä tekstissä, josta toiminto alkaa poimia.
- Merkkien määrä (Valinnainen) - Kokonaisluku, joka määrittää merkkien lukumäärän, joka poistetaan alkuperäisestä tekstistä alkaen Starting_position. Jos se on tyhjä, MID -toiminto palauttaa kaikki merkit Starting_position -kohdasta.
Seuraava koodi näyttää, miten Mid String -toiminnon avulla voit purkaa neljä merkkiä alkaen merkkijonon toisesta sijainnista tai merkistä:
1234567891011 | Sub KäyttämälläTheMidStringFunction ()Himmennä arvo Yksi merkkijononaDim -arvo Kaksi merkkijonoavalueOne = "AutomateExcel"valueTwo = Keskitaso (valueOne, 2, 4)MsgBox -arvo KaksiEnd Sub |
Tulos lähetetään viestilaatikkoon:
Keskitoiminto on poiminut AutomateExcelin neljä kirjainta alkaen toisesta merkistä/paikasta/kirjaimesta, jotka ovat utom.
Alimerkkijonon sijainnin löytäminen
VBA Instr String -toiminto
VBA Instr -toiminto palauttaa alimerkkijonon alkuaseman toisen merkkijonon sisällä. Tämä toiminto erottaa kirjaimet ja kirjaimet. VBA Instr String -toiminnon syntaksi on:
Instr ([Aloita], Merkkijono, Alimerkkijono, [Vertaa]) missä:
- Alkaa (Valinnainen) - Tämä määrittää toiminnon aloituskohdan, josta haetaan. Jos tyhjä, käytetään oletusarvoa 1.
- Jono - alkuperäinen teksti.
- Alimerkkijono- Alkuperäisen tekstin alimerkkijono, jonka sijainnin haluat löytää.
- Vertailla (Valinnainen)- Tämä määrittää vertailun tyypin. Jos tyhjä, käytetään binääristä vertailua.
-vbBinaryCompare - Binaarinen vertailu (isot ja pienet kirjaimet katsotaan erilaisiksi)
-vbTextCompare - Tekstin vertailu (isot ja pienet kirjaimet pidetään samoina)
-vbDatabaseCompare - Tietokantojen vertailu (Tätä vaihtoehtoa käytetään vain Microsoft Accessissa ja se on tietokantaan perustuva vertailu)
Seuraavassa koodissa kerrotaan, kuinka voit käyttää Instr String -toimintoa alijonon "Th" ensimmäisen esiintymisen määrittämiseen pääjonossa:
123456789101112 | Osa KäyttämälläInstrStringFunction ()Himmennä arvo Yksi merkkijononaSubstringin himmentäminen kokonaislukunavalueOne = "Tämä on teksti"positionofSubstring = InStr (1, arvoOne, "Th")Virheenkorjaus.Tulosta alijonoEnd Sub |
Tulos (tulostetaan välittömään ikkunaan) on:
Instr -funktio on palauttanut alijonon "Th" ensimmäisen esiintymispaikan, joka on 1. Huomaa, että tämä toiminto sisältää laskut.
VBA InstrRev -merkkijonotoiminto
VBA InstrRev -funktio palauttaa alijonon alkuaseman toisen merkkijonon sisällä, mutta alkaa laskea sijainnin merkkijonon lopusta. Tämä toiminto erottaa kirjaimet ja kirjaimet. VBA InstrRev -merkkijonotoiminnon syntaksi on:
InstrRev (merkkijono, alimerkkijono, [aloita], [vertaa]) missä:
- Jono - alkuperäinen teksti.
- Alimerkkijono- Alkuperäisen tekstin alimerkkijono, jonka sijainnin haluat löytää.
- Alkaa (Valinnainen) - Tämä määrittää sijainnin, josta haku aloitetaan. Jos se on tyhjä, toiminto aloittaa haun viimeisestä merkistä.
- Vertailla (Valinnainen)- Tämä määrittää vertailun tyypin. Jos tyhjä, käytetään binääristä vertailua.
-vbBinaryCompare - Binaarinen vertailu (isot ja pienet kirjaimet katsotaan erilaisiksi)
-vbTextCompare - Tekstin vertailu (isot ja pienet kirjaimet pidetään samoina)
-vbDatabaseCompare - Tietokantojen vertailu (Tätä vaihtoehtoa käytetään vain Microsoft Accessissa ja se on tietokantaan perustuva vertailu)
Seuraava koodi näyttää, kuinka voit käyttää InstrRev -merkkijonotoimintoa alijonon "Th" ensimmäisen esiintymisen määrittämiseen pääjonossa, merkkijonon lopusta alkaen:
1234567891011 | Sub UsingTheInstrRevStringFunction ()Himmennä arvo Yksi merkkijononaSubstringin himmentäminen kokonaislukunavalueOne = "Tämä on teksti"positionofSubstring = InStrRev (valueOne, "Th")Virheenkorjaus.Tulosta alijonoEnd Sub |
Tulos lähetetään välittömään ikkunaan:
InstrRev -funktio on palauttanut alimerkkijonon "Th" ensimmäisen esiintymispaikan, mutta aloittaa laskennan lopusta, joka on 9. Huomaa, että tämä toiminto sisältää laskut.
Välilyöntien poistaminen merkkijonosta
VBA LTrim -merkkitoiminto
VBA LTrim -toiminto poistaa tekstistä tai merkkijonosta kaikki johtavat välilyönnit. VBA LTrim String -toiminnon syntaksi on:
LTrim (merkkijono) missä:
- Jono - alkuperäinen teksti.
Seuraava koodi näyttää, kuinka VBA LTrim -toiminnon avulla voit poistaa annetun merkkijonon alkutilat:
123456789101112 | Sub Käyttämällä TheLTrimStringFunction ()Himmennä arvo Yksi merkkijononaDim -arvo Kaksi merkkijonoavalueOne = "Tämä on verkkosivuston osoite https://easyexcel.net/excel/"valueTwo = LTrim (valueOne)MsgBox -arvo YksiMsgBox -arvo KaksiEnd Sub |
Tulokset ovat:
LTrim -toiminto on poistanut arvoväylän ensimmäiset välilyönnit, jotka näkyvät toisessa viestiruudussa.
VBA RTrim -merkkitoiminto
VBA RTrim -toiminto poistaa kaikki tekstin tai merkkijonon perät. VBA RTrim String -toiminnon syntaksi on:
RTrim (merkkijono) missä:
- Jono - alkuperäinen teksti.
Seuraava koodi näyttää, kuinka VBA RTrim -toiminnon avulla voit poistaa annetun merkkijonon perät:
123456789101112 | Sub KäyttämälläRTrimStringFunction ()Himmennä arvo Yksi merkkijononaDim -arvo Kaksi merkkijonoavalueOne = "Tämä on verkkosivuston osoite https://easyexcel.net/excel/"valueTwo = RTrim (valueOne)MsgBox -arvo YksiMsgBox -arvo KaksiEnd Sub |
Toimitetut tulokset ovat:
RTrim -toiminto on poistanut arvoväylän jälkitilat, jotka näkyvät toisessa viestiruudussa.
VBA Trim String -toiminto
VBA -leikkaustoiminto poistaa tekstistä tai merkkijonosta kaikki edessä ja takana olevat välilyönnit. VBA Trim String -toiminnon syntaksi on:
Leikkaa (merkkijono) missä:
- Jono - alkuperäinen teksti.
Seuraava koodi näyttää, kuinka VBA -leikkaustoiminnon avulla voit poistaa annetun merkkijonon alku- ja perään:
123456789101112 | AlamerkintäTrimStringFunction ()Himmennä arvo Yksi merkkijononaDim -arvo Kaksi merkkijonoavalueOne = "Tämä on verkkosivuston osoite https://easyexcel.net/excel/"valueTwo = Leikkaus (valueOne)MsgBox -arvo YksiMsgBox -arvo KaksiEnd Sub |
Tulokset ovat:
Leikkaustoiminto on poistanut toiselle viestilaatikolle näkyvän arvoetwo: n eteen ja taakse jäävät välilyönnit.
VBA -kotelotoiminnot
VBA LCase -merkkitoiminto
VBA LCase -toiminto muuntaa tekstin tai merkkijonon kirjaimet pieniksi kirjaimiksi. VBA LCase String -toiminnon syntaksi on:
LCase (merkkijono), jossa:
- Jono - alkuperäinen teksti.
Seuraava koodi näyttää, kuinka voit käyttää LCase -merkkijonotoimintoa kaikkien annetun merkkijonon kirjainten muuttamiseen pieniksi kirjaimiksi:
1234567891011 | Osa käyttämällä TheLCaseStringFunction ()Himmennä arvo Yksi merkkijononaDim -arvo Kaksi merkkijonoavalueOne = "TÄMÄ ON TUOTE"valueTwo = LCase (valueOne)MsgBox -arvo KaksiEnd Sub |
Tulos on:
LCase -toiminto on muuttanut kaikki merkkijonon kirjaimet pieniksi kirjaimiksi.
VBA UCase String -toiminto
VBA UCase -toiminto muuntaa tekstin tai merkkijonon kirjaimet isoiksi kirjaimiksi. VBA UCase String -toiminnon syntaksi on:
UCase (merkkijono), jossa:
- Jono - alkuperäinen teksti.
Seuraava koodi näyttää, miten UCase -merkkijonotoiminnon avulla voit muuntaa kaikki annetun merkkijonon kirjaimet isoiksi kirjaimiksi:
1234567891011 | Osa käyttämällä TheUCaseStringFunction -toimintoa ()Himmennä arvo Yksi merkkijononaDim -arvo Kaksi merkkijonoavalueOne = "tämä on tuote"valueTwo = UCase (valueOne)MsgBox -arvo KaksiEnd Sub |
Tulos on:
UCase -toiminto on muuttanut kaikki merkkijonon kirjaimet isoiksi kirjaimiksi.
VBA StrConv -toiminto
VBA StrConv -toiminto voi muuntaa tekstin tai merkkijonon kirjaimet isoiksi, pieniksi, oikeiksi kirjaimiksi tai unicodeiksi määrittämäsi muunnostyypin mukaan. VBA StrConv -merkkijonotoiminnon syntaksi on:
StrConv (merkkijono, muunnos, [LCID]), jossa:
- Jono - alkuperäinen teksti.
- Tulos - haluamasi tulos.
- [LCID] (Valinnainen) -Valinnainen parametri, joka määrittää LocaleID -tunnuksen. Jos se on tyhjä, käytetään järjestelmän LocaleID -tunnusta.
Seuraava koodi näyttää, kuinka StrConv -merkkijonotoiminnon avulla voit muuntaa merkkijonon oikeiksi kirjaimiksi:
1234567891011 | Sub KäyttäenTheStrConvStringFunction ()Himmennä arvo Yksi merkkijononaDim -arvo Kaksi merkkijonoavalueOne = "tämä on tuote"valueTwo = StrConv (valueOne, vbProperCase)MsgBox -arvo KaksiEnd Sub |
Tulos on:
Määrität suoritettavan konversion tyypin käyttämällä tulosparametria:
- vbLowerCase muuntaa kaikki tekstin kirjaimet pieniksi kirjaimiksi.
- vbUpperCase muuntaa kaikki tekstin kirjaimet isoiksi kirjaimiksi.
- vbProperCase muuntaa jokaisen tekstin sanan ensimmäisen kirjaimen isoiksi kirjaimiksi, kun taas kaikki muut kirjaimet säilytetään pieninä kirjaimina.
- vbUnicode muuntaa merkkijonon unicodeksi.
- vbFromUnicode muuntaa merkkijonon Unicode -koodista järjestelmän oletuskoodisivuksi.
Jousien vertailu
VBA StrComp -toiminto
VBA StrComp -merkkitoiminnon avulla voit verrata kahta merkkijonoa. Toiminto palauttaa:
- 0 jos kaksi merkkijonoa vastaavat
- -1, jos merkkijono1 on pienempi kuin merkkijono2
- 1, jos merkkijono1 on suurempi kuin merkkijono2
- Nolla -arvo, jos jompikumpi merkkijonoista oli tyhjä
Seuraava koodi näyttää, miten StrComp -funktiota käytetään kahden merkkijonon vertaamiseen:
123456789101112 | Sub KäyttäenTheStrCompStringFunction ()Himmennä arvo Yksi merkkijononaDim -arvo Kaksi merkkijonoaHämärä tulos vertailussa kokonaislukunavalueOne = "AutomateExcel"valueTwo = "AutomateExcel"resultofComparison = StrComp (arvoOne, arvoTwo)Virheenkorjaus.Tuloksen tulos vertailustaEnd Sub |
Tulos on:
StrComp -toiminto on löytänyt tarkan vastaavuuden näiden kahden merkkijonon välillä ja palauttanut 0.
VBA Like Operaattori
VBA Like -operaattorin avulla voit verrata tekstiä tai merkkijonoa kuvioon ja nähdä, onko osumaa. Käytät yleensä Like -operaattoria yhdessä jokerimerkkien kanssa. Seuraava koodi näyttää Like -operaattorin käytön:
123456789101112 | Sub Käyttämällä TheLikeOperatorInVBA ()Himmennä arvo Yksi merkkijononavalueOne = "Katsotaan tulosta"Jos arvoOne Like "*view*" SittenMsgBox "Löytyy osuma, tämä merkkijono sisältää sananäkymän"MuuMsgBox "Vastaavuutta ei löytynyt"Loppu JosEnd Sub |
Tulos on:
Jokerimerkit, joita voit käyttää Like -operaattorin kanssa hakutulosten etsimiseen, ovat:
- ? joka vastaa yhtä merkkiä
- # joka vastaa yhtä numeroa
- * joka vastaa nollaa tai enemmän merkkejä
Seuraava koodi näyttää, miten käyttäisit Like -operaattoria ja? yleismerkki, joka vastaa koodisi mallia:
123456789101112 | Sub UsingTheLikeOperatorWithAWildcardInVBA ()Himmennä arvo Yksi merkkijononavalueOne = "The"Jos valueOne Like "?? e" SittenMsgBox "Löytyy osuma, vastaava malli löytyi"MuuMsgBox "Vastaavuutta ei löytynyt"Loppu JosEnd Sub |
Tulos on:
Muita hyödyllisiä VBA -merkkijonotoimintoja
VBA Korvaa merkkijono -toiminto
VBA -korvaustoiminto korvaa merkkijonon merkkijoukon toisella merkkijoukolla. VBA Replace String -toiminnon syntaksi on:
Korvaa (Jono, Etsi, Korvaa, [Aloita], [Laske], [Vertaa]) missä:
- Jono - alkuperäinen teksti.
- Etsi - alijono, jota haetaan alkuperäisestä tekstistä.
- Korvaa - Alimerkkijono, jolla korvataan Etsi -alijono.
- Alkaa (Valinnainen)- Paikka aloittaa haku alkuperäisestä tekstistä. Jos tyhjä, arvoa 1 käytetään ja toiminto alkaa ensimmäisestä merkkipaikasta.
- Kreivi (Valinnainen)- Etsi -alijonon esiintymien määrä alkuperäisessä korvattavassa tekstissä. Jos se on tyhjä, kaikki Find -alijonon esiintymät korvataan.
- Vertailla (Valinnainen)- Tämä määrittää vertailun tyypin. Jos tyhjä, käytetään binääristä vertailua.
-vbBinaryCompare - Binaarinen vertailu
-vbTextCompare - Tekstin vertailu
-vbDatabaseCompare - Tietokantojen vertailu (Tätä vaihtoehtoa käytetään vain Microsoft Accessissa ja se on tietokantaan perustuva vertailu.)
Seuraava koodi näyttää Korvaa merkkijono -toiminnon käyttämisen:
1234567891011 | Sub UsingTheReplaceStringFunction ()Himmennä arvo Yksi merkkijononaDim -arvo Kaksi merkkijonoavalueOne = "ProductABC"valueTwo = Korvaa (valueOne, "ABC", "XYZ")MsgBox -arvo KaksiEnd Sub |
Tulos on:
Korvaustoiminto löysi ProductABC: n alimerkkijonon ABC ja korvasi sen merkkijonolla XYZ.
VBA StrReverse -toiminto
VBA StrReverse -toiminto kääntää tietyn tekstin tai merkkijonon merkit. VBA StrReverse String -toiminnon syntaksi on:
StrReverse (merkkijono) missä:
- Jono - alkuperäinen teksti.
Seuraava koodi näyttää, miten VBA StrReverse -toimintoa käytetään merkkijonon Tuotteen merkkien kääntämiseen:
1234567891011 | Sub Käyttämällä TheStrReverseStringFunction ()Himmennä arvo Yksi merkkijononaDim -arvo Kaksi merkkijonoavalueOne = "Tuote"valueTwo = StrReverse (valueOne)MsgBox -arvo KaksiEnd Sub |
Tulos on:
VBA Len -merkkitoiminto
VBA Len -toiminto palauttaa merkkijonon merkkien määrän. VBA Len -merkkitoiminnon syntaksi on:
Len (merkkijono) missä:
- Jono - alkuperäinen teksti.
Seuraava koodi näyttää kuinka Len -merkkijonotoiminnon avulla määritetään merkkijonon pituus AutomateExcel:
1234567891011 | OsaLenFunction -toiminnon käyttäminen ()Himmennä arvo Yksi merkkijononaHimmennä merkkijonoPituus kokonaislukunavalueOne = "AutomateExcel"stringLength = Len (valueOne)Virheenkorjaus.Tulosta merkkijonoPituusEnd Sub |
Tulos on:
Len -funktio on laskenut kaikki merkit AutomateExcel -tekstissä, joka on 13 kirjainta.