Zástupné znaky VBA

Tento tutoriál předvede, jak používat zástupné znaky ve VBA.

Zástupné znaky se používají ve všech programovacích jazycích a databázových aplikacích, jako je SQL Server. Zástupný znak lze definovat jako symbol, který se používá k nahrazení jednoho nebo více znaků v textovém řetězci. Například tento textový řetězec - „mo*“ - najde slova máma, myš, los, máma atd .; zatímco tento textový řetězec „mo?“ najde jako zástupný znak pouze slovo máma? nahrazuje pouze jeden znak.

S operátorem Like používáme zástupné znaky, což je jednodušší alternativa k VBA Regex.

Použití zástupného znaku Asterix (*) ve VBA

Zástupný znak Asterix nahrazuje jeden nebo více znaků v řetězci VBA.

Podívejme se na následující rozsah buněk v Excelu:

Použitím zástupného znaku Asterix v našem kódu VBA můžeme najít všechna křestní jména, která začínají na „M“, a změnit barvu textu na červenou.

12345678 Sub CheckForM ()Dim x As IntegerPro x = 3 až 8Pokud rozsah („B“ & x). Hodnotu jako „M*“ pakRozsah ("B" & x). Font.Color = vbRedKonec IfDalší xEnd Sub

Proto jsme prošli rozsahem a našli jsme všechna křestní jména, která začínají písmenem M, protože náš zástupný řetězec je „M*

Výsledek spuštění výše uvedeného kódu je uveden níže.

Pokud bychom použili zástupný řetězec „Ma*“ - pak by se změnila pouze první jména v B3 a B4.

Použití zástupného znaku otazníku (?) Ve VBA

Otazník nahradí jeden znak v řetězci VBA.

Zvažte následující data:

Můžeme použít zástupný řetězec „? Im“ k nalezení jakýchkoli křestních jmen, která končí na „im“

12345678 Dílčí kontrolaForIM ()Dim x As IntegerPro x = 3 až 8Pokud rozsah („B“ & x). Hodnota jako „? Im“ PakRozsah ("B" & x). Font.Color = vbRedKonec IfDalší xEnd Sub

Výsledek spuštění tohoto kódu je uveden níže:

Použití [seznamu znaků] jako zástupného znaku

Výše uvedený příklad lze mírně upravit, abychom kromě seznamu povolených znaků mohli použít i otazník. Řetězec zástupných znaků lze tedy upravit na „? [E-i] m“, kde prvním znakem může být cokoli, druhým znakem musí být znak mezi e a i a posledním písmenem musí být znak „m“. Jsou povoleny pouze 3 znaky.

12345678 Sub CharListTest ()Dim x As IntegerPro x = 3 až 8Pokud je rozsah („B“ a x). Hodnota jako „? [E-i] m“ PakRozsah ("B" & x). Font.Color = vbRedKonec IfDalší xEnd Sub

Výsledkem tohoto kódu bude:

Programování VBA | Generátor kódu pracuje pro vás!

Použití znaku hash (#) ve VBA

Zástupný znak hash (#) nahrazuje jednu číslici v řetězci VBA. Můžeme se shodovat mezi 0 až 9.

12345678910 Dílčí šekForNumber ()Dim x jako celé číslo, y jako celé čísloPro x = 3 až 8Pro y = 2 až 5Pokud ActiveSheet.Cells (x, y) jako "##", pakActiveSheet.Cells (x, y) .Font.Color = vbRedKonec IfDalší yDalší xEnd Sub

Výše uvedený kód bude procházet všemi buňkami v rozsahu („B3: E8“) a změní barvu textu v buňce na ČERVENOU, pokud je v této buňce nalezeno dvouciferné číslo.

V níže uvedeném příkladu kód změní číslo pouze v případě, že poslední číslo je 9.

12345678910 Sub CheckFor9 ()Dim x jako celé číslo, y jako celé čísloPro x = 3 až 8Pro y = 2 až 5Pokud ActiveSheet.Cells (x, y) jako „#9“, pakActiveSheet.Cells (x, y) .Font.Color = vbRedKonec IfDalší yDalší xEnd Sub

wave wave wave wave wave