VBA Wildcards

Este tutorial demonstrará como usar curingas no VBA.

Os curingas são usados ​​em todas as linguagens de programação e aplicativos de banco de dados, como o SQL Server. Um curinga pode ser definido como um símbolo usado para substituir um ou mais caracteres em uma sequência de texto. Por exemplo, esta sequência de texto - “mo *” - encontrará as palavras mãe, rato, alce, mamãe etc; enquanto esta string de texto "mo?" só encontrará a palavra mãe como curinga? substitui apenas um caractere.

Usamos curingas com o operador similar, que é uma alternativa mais fácil para o VBA Regex.

Usando o caractere curinga Asterix (*) no VBA

O curinga Asterix substitui um ou mais caracteres em uma string VBA.

Vejamos o seguinte intervalo de células no Excel:

Usando um caractere curinga Asterix em nosso código VBA, podemos encontrar todos os nomes que começam com “M” e alterar a cor do texto para vermelho.

12345678 Sub CheckForM ()Dim x As IntegerPara x = 3 a 8Se Range ("B" e x). Valor como "M *" EntãoIntervalo ("B" e x) .Font.Color = vbRedFim sePróximo xEnd Sub

Portanto, percorremos o intervalo e encontramos todos os primeiros nomes que começam com a letra M, pois nossa string curinga é “M *

O resultado da execução do código acima é mostrado abaixo.

Se fôssemos usar a string curinga “Ma *” - então apenas os primeiros nomes em B3 e B4 mudariam.

Usando o caractere curinga de ponto de interrogação (?) No VBA

O ponto de interrogação substituirá um único caractere em uma string VBA.

Considere os seguintes dados:

Podemos usar a string curinga “? Im” para encontrar quaisquer nomes que terminem em “im”

12345678 Sub CheckForIM ()Dim x As IntegerPara x = 3 a 8Se Range ("B" e x) .Value Like "? Im" ThenIntervalo ("B" e x) .Font.Color = vbRedFim sePróximo xEnd Sub

O resultado da execução deste código é mostrado abaixo:

Usando [lista de caracteres] como curinga

O exemplo acima pode ser ligeiramente modificado para permitir o uso do ponto de interrogação, além de uma lista de caracteres permitidos. A string curinga pode, portanto, ser alterada para “? [E-i] m” onde o primeiro caractere pode ser qualquer coisa, o segundo caractere deve ser um caractere entre eei e a última letra deve ser o caractere “m”. Apenas 3 caracteres são permitidos.

12345678 Sub CharListTest ()Dim x As IntegerPara x = 3 a 8Se Intervalo ("B" e x). Valor como "? [E-i] m" EntãoIntervalo ("B" e x) .Font.Color = vbRedFim sePróximo xEnd Sub

O resultado desse código seria:

Programação VBA | O Code Generator funciona para você!

Usando o caractere curinga hash (#) no VBA

O caractere curinga hash (#) substitui um único dígito em uma string VBA. Podemos combinar entre 0 e 9.

12345678910 Sub CheckForNumber ()Dim x As Integer, y As IntegerPara x = 3 a 8Para y = 2 a 5Se ActiveSheet.Cells (x, y) Like "##" EntãoActiveSheet.Cells (x, y) .Font.Color = vbRedFim seA seguirPróximo xEnd Sub

O código acima percorrerá todas as células no intervalo (“B3: E8”) e mudará a cor do texto em uma célula para VERMELHO se um número de dois dígitos for encontrado nessa célula.

No exemplo abaixo, o código só mudará o número se o último número for um 9.

12345678910 Sub CheckFor9 ()Dim x As Integer, y As IntegerPara x = 3 a 8Para y = 2 a 5Se ActiveSheet.Cells (x, y) Like "# 9" EntãoActiveSheet.Cells (x, y) .Font.Color = vbRedFim seA seguirPróximo xEnd Sub

wave wave wave wave wave