VBA metamärgid

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

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave