Ovaj će vodič pokazati kako se koriste zamjenski znakovi u VBA -i.
Zamjenski znakovi koriste se u svim programskim jezicima i aplikacijama baze podataka poput SQL Servera. Zamjenski znak može se definirati kao simbol koji se koristi za zamjenu jednog ili više znakova u tekstualnom nizu. Na primjer, ovaj tekstualni niz - "mo*" - pronaći će riječi mama, miš, los, mama itd .; dok ovaj tekstualni niz "mo?" pronaći će samo riječ mama kao zamjenski znak? zamjenjuje samo jedan znak.
Koristimo zamjenske znakove s operatorom Like, što je lakša alternativa VBA Regexu.
Korištenje zamjenskog znaka Asterix (*) u VBA
Zamjenski znak Asterix zamjenjuje jedan ili više znakova u nizu VBA.
Pogledajmo sljedeći raspon ćelija u Excelu:
Korištenjem zamjenskog znaka Asterix u našem VBA kodu možemo pronaći sva imena koja počinju s “M” i mijenjaju boju teksta u crvenu.
12345678 | Obrazac za provjeru pod (()Dim x kao cijeli brojZa x = 3 do 8Ako raspon ("B" & x) .Vrijednost poput "M*" TadaRaspon ("B" & x) .Font.Boja = vbRedZavrši akoSljedeći xKraj podm |
Stoga smo pregledali raspon i pronašli sva imena koja počinju slovom M jer je naš zamjenski niz "M*”
Rezultat pokretanja gornjeg koda prikazan je u nastavku.
Ako bismo koristili zamjenski niz "Ma*" - tada bi se promijenila samo prva imena u B3 i B4.
Korištenje zamjenskog znaka pitanja (?) U VBA -i
Upitnik će zamijeniti jedan znak u VBA nizu.
Uzmite u obzir sljedeće podatke:
Niz zamjenskih znakova "? Im" možemo koristiti za pronalaženje imena koja završavaju na "im"
12345678 | Sub CheckForIM ()Dim x kao cijeli brojZa x = 3 do 8Ako raspon ("B" & x) .Vrijednost poput "? Im" TadaRaspon ("B" & x) .Font.Boja = vbRedZavrši akoSljedeći xKraj podm |
Rezultat pokretanja ovog koda prikazan je u nastavku:
Korištenje [char list] kao zamjenski znak
Gornji se primjer može malo izmijeniti kako bi nam omogućio korištenje upitnika, uz popis dopuštenih znakova. Niz zamjenskih znakova stoga se može izmijeniti u "? [E-i] m" gdje prvi znak može biti bilo što, drugi znak mora biti znak između e i i posljednje slovo mora biti znak "m". Dopuštena su samo 3 znaka.
12345678 | Sub CharListTest ()Dim x kao cijeli brojZa x = 3 do 8Ako raspon ("B" & x) .Vrijednost poput "? [E-i] m" TadaRaspon ("B" & x) .Font.Boja = vbRedZavrši akoSljedeći xKraj podm |
Rezultat ovog koda bio bi:
VBA programiranje | Generator koda radi za vas!
Korištenje zamjenskog znaka hash (#) u VBA
Zamjenski znak hash (#) zamjenjuje jednu znamenku u nizu VBA. Možemo usporediti između 0 i 9.
12345678910 | PodznakForNumber ()Dim x kao cijeli broj, y kao cijeli brojZa x = 3 do 8Za y = 2 do 5Ako ActiveSheet.Cells (x, y) Kao "##" ZatimActiveSheet.Cells (x, y) .Font.Color = vbRedZavrši akoSljedeći ySljedeći xKraj podm |
Gornji kôd će se provlačiti kroz sve ćelije u rasponu ("B3: E8") i promijenit će boju teksta u ćeliji u CRVENU ako se u toj ćeliji pronađe dvoznamenkasti broj.
U donjem primjeru kôd će promijeniti broj samo ako je posljednji broj 9.
12345678910 | Sub CheckFor9 ()Dim x kao cijeli broj, y kao cijeli brojZa x = 3 do 8Za y = 2 do 5Ako ActiveSheet.Cells (x, y) Kao "#9" TadaActiveSheet.Cells (x, y) .Font.Color = vbRedZavrši akoSljedeći ySljedeći xKraj podm |