See õpetus näitab, kuidas metamärke VBA -s kasutada.
Metamärke kasutatakse kõigis programmeerimiskeeltes ja andmebaasirakendustes, näiteks SQL Serveris. Metamärki saab määratleda sümbolina, mida kasutatakse ühe või mitme märgi asendamiseks tekstistringis. Näiteks see tekstistring - “mo*” - leiab sõnad ema, hiir, põder, emme jne; samas kui see tekstistring “mo?” leiab metamärgina ainult sõna ema? asendab ainult ühe märgi.
Kasutame sarnaste operaatoritega metamärke, mis on lihtsam alternatiiv VBA Regexile.
Asterixi (*) metamärgi kasutamine VBA -s
Asterixi metamärk asendab VBA stringi ühe või mitu märki.
Vaatame järgmist Exceli lahtrite vahemikku:
Kasutades oma VBA -koodis Asterixi metamärki, leiame kõik eesnimed, mis algavad tähega „M”, ja muudame teksti värvi punaseks.
12345678 | AlamkontrollForM ()Dim x täisarvunaX = 3 kuni 8Kui vahemik ("B" & x) .Väärtus Nagu "M*" SiisVahemik ("B" & x) .Font.Värv = vbPunaneLõpp KuiJärgmine xEnd Sub |
Seetõttu oleme ringi teinud ja leidnud kõik eesnimed, mis algavad M -tähega, kuna meie metamärkide string on "M*”
Ülaltoodud koodi käitamise tulemus on näidatud allpool.
Kui me kasutaksime metamärki “Ma*” - muutuksid ainult eesnimed punktides B3 ja B4.
Küsimärgi (?) Metamärgi kasutamine VBA -s
Küsimärk asendab VBA stringi ühe märgi.
Kaaluge järgmisi andmeid:
Me võime kasutada metamärke "? Im", et leida eesnimed, mis lõpevad tähega "im"
12345678 | AlamkontrollForIM ()Dim x täisarvunaX = 3 kuni 8Kui vahemik ("B" & x) .Väärtus Nagu "? Im" SiisVahemik ("B" & x) .Font.Värv = vbPunaneLõpp KuiJärgmine xEnd Sub |
Selle koodi käitamise tulemus on näidatud allpool:
[Märkide loendi] kasutamine metamärgina
Ülaltoodud näidet saab veidi muuta, et saaksime lisaks lubatud tähemärkide loendile kasutada küsimärki. Seetõttu võib metamärgi muuta "? [E-i] m", kus esimene märk võib olla ükskõik milline, teine märk peab olema tähemärkide e ja i vahel ning viimane täht "m". Lubatud on ainult 3 tähemärki.
12345678 | Alam CharListTest ()Dim x täisarvunaX = 3 kuni 8Kui Vahemik ("B" & x) .Väärtus Nagu "? [E-i] m" SiisVahemik ("B" & x) .Font.Värv = vbPunaneLõpp KuiJärgmine xEnd Sub |
Selle koodi tulemus oleks järgmine:
VBA programmeerimine | Koodigeneraator töötab teie jaoks!
Räsi (#) metamärgi kasutamine VBA -s
Räsimärk (#) asendab VBA stringi ühe numbri. Võime sobitada vahemikus 0 kuni 9.
12345678910 | AlamkontrollForNumber ()Dim x täisarvuna, y täisarvunaX = 3 kuni 8Y = 2 kuni 5Kui ActiveSheet.Cells (x, y) Like "##" SiisActiveSheet. Lahtrid (x, y). Font.Värv = vbRedLõpp KuiJärgmine yJärgmine xEnd Sub |
Ülaltoodud kood läbib kõik vahemiku lahtrid („B3: E8”) ja muudab lahtris oleva teksti värvi punaseks, kui selles lahtris leitakse kahekohaline number.
Allolevas näites muudab kood numbrit ainult siis, kui viimane number on 9.
12345678910 | Sub CheckFor9 ()Dim x täisarvuna, y täisarvunaX = 3 kuni 8Y = 2 kuni 5Kui ActiveSheet.Cells (x, y) Like "#9" SiisActiveSheet. Lahtrid (x, y). Font.Värv = vbRedLõpp KuiJärgmine yJärgmine xEnd Sub |