VBA Like Operator

No VBA, você pode comparar duas strings usando o Gostar operador para verificar a correspondência das strings. Neste tutorial, você aprenderá como usar esse operador com diferentes padrões.

Se você quiser aprender como comparar strings em VBA, clique aqui: VBA Compare Strings - StrComp

Se você quiser aprender como usar operadores de comparação, clique aqui: VBA Comparison Operators - Not Equal to & More

Usando o operador similar para comparar duas strings

Com o operador Like, podemos verificar se uma string começa com um texto específico, inclui-o, etc. Por padrão, o Gostar operador compara caracteres usando o método binário. Isso significa que o operador diferencia maiúsculas de minúsculas. Se você quiser que não faça distinção entre maiúsculas e minúsculas, você precisa colocar Texto de comparação de opções na parte superior do seu módulo. Usando este método, o Gostar operador considera “S” e “s” os mesmos caracteres. Em nossos exemplos, usaremos a comparação padrão, que diferencia maiúsculas de minúsculas.

Se a correspondência existir, o Gostar operador retorna True como resultado ou False caso contrário.

Primeiro, veremos o exemplo simples onde queremos verificar se nossa variável de string começa com Sr. Para fazer isso, você precisa colocar um asterisco (*) no final do texto correspondente (Sr*) Aqui está o código:

1234567891011121314 Sub LikeDemo ()Dim strNome como stringDim blnResult As BooleanstrName = "Sr. Michael James"Se strNome Like "Mr *" EntãoblnResult = TrueOutroblnResult = FalseFim seEnd Sub

Neste exemplo, queremos verificar se string strNome começa com Sr e retornar Verdadeiro ou Falso na variável blnResult.

Primeiro, definimos o valor de strNome para Sr. Michael James:

1 strName = "Sr. Michael James"

Então usamos o Gostar operador na instrução If:

12345 Se strNome Like "Mr *" EntãoblnResult = TrueOutroblnResult = FalseFim se

Enquanto o strNome começa com Sr, a blnResult retorna True:

Imagem 1. Usando o operador Like para verificar se a string começa com certos caracteres

Usando o Operador Semelhante com Diferentes Padrões de Correspondência

O operador Like pode verificar a correspondência de duas strings com base em padrões diferentes. Aqui está a lista de possíveis padrões de correspondência:

Código padrão

Tipo de correspondência

*

Corresponde a 0 ou mais caracteres

?

Corresponde a um único caractere

#

Corresponde a um único dígito

[chars]

Corresponde a um único caractere de uma lista de caracteres

[A-Z]

Corresponde a qualquer caractere maiúsculo do alfabeto

[A-Za-z]

Corresponde a qualquer caractere do alfabeto

[! chars]

Corresponde a um único caractere, excluindo uma lista de caracteres

Agora podemos ver como usar esses padrões no código. Aqui está o exemplo para vários padrões:

Correspondência de um único caractere:

1234567 strText1 = "ABCDE"Se strText1 gostar de "AB? DE" EntãoblnResult1 = TrueOutroblnResult1 = FalseFim se

Correspondência de um único dígito:

1234567 strText2 = "AB7DE"Se strText2 gostar de "AB # DE", entãoblnResult2 = TrueOutroblnResult2 = FalseFim se

Correspondência de qualquer caractere maiúsculo do alfabeto:

1234567 strText3 = "ABCDE"Se strText3 gostar de "AB [A-Z] DE", entãoblnResult3 = TrueOutroblnResult3 = FalseFim se

Não corresponde a nenhum caractere maiúsculo do alfabeto:

1234567 strText4 = "AB7DE"Se strText4 gostar de "AB [! A-Z] DE", entãoblnResult4 = TrueOutroblnResult4 = FalseFim se

Corresponde a qualquer caractere do alfabeto (maiúsculas ou minúsculas):

1234567 strText5 = "ABcDE"Se strText5 gostar de "AB [A-Za-z] DE", entãoblnResult5 = TrueOutroblnResult5 = FalseFim se

Quando você executa o código, você pode ver que o Gostar operador retorna True em blnResult variáveis ​​para cada comparação:

Imagem 2. Usando o operador Like com diferentes padrões de correspondência

wave wave wave wave wave