Wildcard-uri VBA

Acest tutorial va arăta cum să utilizați metacaracterele în VBA.

Wildcard-urile sunt utilizate în toate limbajele de programare și aplicațiile de baze de date, cum ar fi SQL Server. Un wildcard poate fi definit ca un simbol care este utilizat pentru a înlocui unul sau mai multe caractere dintr-un șir de text. De exemplu, acest șir de text - „mo *” - va găsi cuvintele mama, șoricel, elan, mami etc; în timp ce acest șir de text „mo?” va găsi cuvântul mama doar ca metacaracter? înlocuiește un singur personaj.

Folosim metacaractere cu Like Operator, care este o alternativă mai ușoară la VBA Regex.

Utilizarea wildcard-ului Asterix (*) în VBA

Comodul Asterix înlocuiește unul sau mai multe caractere dintr-un șir VBA.

Să vedem următoarea gamă de celule din Excel:

Folosind un wildcard Asterix în codul nostru VBA, putem găsi toate prenumele care încep cu „M” și putem schimba culoarea textului în roșu.

12345678 Sub CheckForM ()Dim x Ca întregPentru x = 3 - 8Dacă Range ("B" & x). Valoare Ca "M *" AtunciGama ("B" & x) .Font.Color = vbRedEnd IfUrmătorul xSfârșitul Sub

Prin urmare, am parcurs zona și am găsit toate prenumele care încep cu litera M, deoarece șirul nostru de caractere wildcard este „M *

Rezultatul executării codului de mai sus este prezentat mai jos.

Dacă ar fi să folosim șirul de caractere „Ma *” - atunci doar prenumele din B3 și B4 s-ar schimba.

Folosind semnul întrebării (?) Wildcard în VBA

Semnul de întrebare va înlocui un singur caracter într-un șir VBA.

Luați în considerare următoarele date:

Putem folosi șirul comodin „? Im” pentru a găsi orice prenume care se termină cu „im”

12345678 Sub CheckForIM ()Dim x Ca întregPentru x = 3 - 8Dacă Range („B” & x). Valoare Ca „? Im” AtunciGama ("B" & x) .Font.Color = vbRedEnd IfUrmătorul xSfârșitul Sub

Rezultatul executării acestui cod este prezentat mai jos:

Se folosește [lista de caractere] ca wildcard

Exemplul de mai sus poate fi modificat ușor pentru a ne permite să folosim semnul întrebării, pe lângă o listă de caractere cu caractere permise. Șirul de caractere wildcard poate fi, prin urmare, modificat în „? [E-i] m”, unde primul caracter poate fi orice, al doilea caracter trebuie să fie un caracter între e și i, iar ultima literă trebuie să fie caracterul „m”. Sunt permise doar 3 caractere.

12345678 Sub CharListTest ()Dim x Ca întregPentru x = 3 - 8Dacă Range ("B" & x). Valoare Ca "? [E-i] m" AtunciGama ("B" & x) .Font.Color = vbRedEnd IfUrmătorul xSfârșitul Sub

Rezultatul acestui cod ar fi:

Programare VBA | Generatorul de coduri funcționează pentru dvs.!

Folosind hash (#) Wildcard în VBA

Comprimatul hash (#) înlocuiește o singură cifră într-un șir VBA. Putem egala între 0 și 9.

12345678910 Sub CheckForNumber ()Dim x Ca întreg, y Ca întregPentru x = 3 - 8Pentru y = 2 până la 5Dacă ActiveSheet.Cells (x, y) Ca „##” AtunciActiveSheet.Cells (x, y) .Font.Color = vbRedEnd IfUrmătorul yUrmătorul xSfârșitul Sub

Codul de mai sus va parcurge toate celulele din interval („B3: E8”) și va schimba culoarea textului dintr-o celulă în ROȘU dacă se găsește un număr din două cifre în acea celulă.

În exemplul de mai jos, codul va schimba numărul numai dacă ultimul număr este un 9.

12345678910 Sub CheckFor9 ()Dim x Ca întreg, y Ca întregPentru x = 3 - 8Pentru y = 2 până la 5Dacă ActiveSheet.Cells (x, y) Ca "# 9" AtunciActiveSheet.Cells (x, y) .Font.Color = vbRedEnd IfUrmătorul yUrmătorul xSfârșitul Sub

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave