Zástupné znaky VBA

Tento tutoriál ukáže, ako používať zástupné znaky vo VBA.

Zástupné znaky sa používajú vo všetkých programovacích jazykoch a databázových aplikáciách, ako je SQL Server. Zástupný znak možno definovať ako symbol, ktorý sa používa na nahradenie jedného alebo viacerých znakov v textovom reťazci. Tento textový reťazec - „mo*“ - napríklad nájde slová mama, myš, los, mama atď .; zatiaľ čo tento textový reťazec „mo?“ nájde ako zástupný znak iba slovo mama? nahradí iba jeden znak.

S operátorom Like používame zástupné znaky, čo je jednoduchšia alternatíva k VBA Regex.

Použitie zástupného znaku Asterix (*) vo VBA

Zástupný znak Asterix nahrádza jeden alebo viac znakov v reťazci VBA.

Pozrime sa na nasledujúci rozsah buniek v programe Excel:

Použitím zástupného znaku Asterix v našom kóde VBA dokážeme nájsť všetky krstné mená, ktoré začínajú na „M“, a zmeniť farbu textu na červenú.

12345678 Vedľajšia kontrolaForM ()Dim x As IntegerPre x = 3 až 8Ak je rozsah („B“ a x). Potom zadajte hodnotu ako „M*“Rozsah ("B" & x) .Font.Color = vbRedKoniec AkDalej xKoniec pod

Preto sme prešli rozsahom a našli sme všetky prvé mená, ktoré začínajú písmenom M, pretože náš reťazec zástupných znakov je „M*

Výsledok spustenia kódu vyššie je uvedený nižšie.

Ak by sme použili zástupný reťazec „Ma*“ - potom by sa zmenili iba prvé mená v B3 a B4.

Použitie zástupného znaku otáznika (?) Vo VBA

Otáznik nahradí jeden znak v reťazci VBA.

Zvážte nasledujúce údaje:

Na nájdenie akýchkoľvek krstných mien, ktoré sa končia na „im“, môžeme použiť zástupný reťazec „? Im“

12345678 Vedľajšia kontrolaForIM ()Dim x As IntegerPre x = 3 až 8Ak je rozsah („B“ a x). Hodnota sa páči „? Im“ PotomRozsah ("B" & x) .Font.Color = vbRedKoniec AkDalej xKoniec pod

Výsledok spustenia tohto kódu je uvedený nižšie:

Použitie [znakového zoznamu] ako zástupného znaku

Vyššie uvedený príklad môže byť mierne upravený, aby sme okrem zoznamu povolených znakov mohli použiť aj otáznik. Reťazec zástupných znakov je preto možné zmeniť na „? [E-i] m“, kde prvým znakom môže byť čokoľvek, druhým znakom musí byť znak medzi e a i a posledným písmenom musí byť znak „m“. Povolené sú iba 3 znaky.

12345678 Sub CharListTest ()Dim x As IntegerPre x = 3 až 8Ak je rozsah („B“ a x). Hodnota ako „? [E-i] m“ PotomRozsah ("B" & x) .Font.Color = vbRedKoniec AkDalej xKoniec pod

Výsledkom tohto kódu bude:

Programovanie VBA | Generátor kódu pracuje za vás!

Použitie hash (#) zástupných znakov vo VBA

Zástupný znak hash (#) nahrádza jednu číslicu v reťazci VBA. Môžeme sa zhodovať medzi 0 až 9.

12345678910 Vedľajšia kontrolaForNumber ()Dim x ako celé číslo, y ako celé čísloPre x = 3 až 8Pre y = 2 až 5Ak sa ActiveSheet.Cells (x, y) páči „##“ PotomActiveSheet.Cells (x, y) .Font.Color = vbRedKoniec AkĎalšie yDalej xKoniec pod

Vyššie uvedený kód bude prechádzať všetkými bunkami v rozsahu („B3: E8“) a zmení farbu textu v bunke na ČERVENÚ, ak sa v tejto bunke nachádza dvojciferné číslo.

V nižšie uvedenom príklade kód zmení číslo iba vtedy, ak je posledné číslo 9.

12345678910 Sub CheckFor9 ()Dim x ako celé číslo, y ako celé čísloPre x = 3 až 8Pre y = 2 až 5Ak sa ActiveSheet.Cells (x, y) páči „#9“, potomActiveSheet.Cells (x, y) .Font.Color = vbRedKoniec AkĎalšie yDalej xKoniec pod

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave