VBA – Operador Like

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Daniel Caramello

Last updated on August 15, 2023

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

Se você quiser aprender a comparar cadeias de caracteres no VBA, clique aqui: VBA Comparar Strings – StrComp

Se você quiser aprender a usar operadores de comparação, clique aqui: Operadores de comparação do VBA – Not Equal to e outros

Uso do Operador Like para Comparar Duas Cadeias de Caracteres

Com o operador Like, podemos verificar se uma cadeia de caracteres começa com um texto específico, se o inclui etc. Por padrão, o operador Like compara caracteres usando o método Binary. Isso significa que o operador faz distinção entre maiúsculas e minúsculas. Se você quiser torná-lo insensível a maiúsculas e minúsculas, precisará colocar a opção Compare Text na parte superior do módulo. Usando esse método, o operador Like considera “S” e “s” como os mesmos caracteres. Em nossos exemplos, usaremos a comparação padrão com distinção entre maiúsculas e minúsculas.

Se a correspondência existir, o operador Like retornará True (Verdadeiro) como resultado ou False (False), caso contrário.

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

Sub LikeExemplo()

Dim strNome As String
Dim blnResultado As Boolean

strNome = "Sr. Michael James" 

If strNome Like "Sr*" Then
    blnResultado = True
Else
    blnResultado = False
End If

End Sub

Neste exemplo, queremos verificar se a cadeia de caracteres strNome começa com Sr e retornar True ou False na variável blnResultado.

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

strNome = "Sr. Michael James"

Em seguida, usamos o operador Like na instrução If:

If strNome Like "Sr*" Then
    blnResultado = True
Else
    blnResultado = False
End If

Como o strNome começa com Sr, o blnResultado retorna True (Verdadeiro):

exemplo operador like

Imagem 1. Uso do operador Like para verificar se a cadeia de caracteres começa com determinados caracteres

Uso do Operador Like com Diferentes Padrões de Correspondência

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

Código do 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 de vários padrões:

Correspondência de um único caractere:

strTexto1 = "ABCDE"
  
If strTexto1 Like "AB?DE" Then
 blnResultado1 = True
Else
 blnResultado1 = False
End If

Correspondência de um único dígito:

strTexto2 = "AB7DE"
  
If strTexto2 Like "AB#DE" Then
 blnResultado2 = True
Else
 blnResultado2 = False
End If

Corresponde a qualquer caractere maiúsculo do alfabeto:

strTexto3 = "ABCDE"

If strTexto3 Like "AB[A-Z]DE" Then
 blnResultado3 = True
Else
 blnResultado3 = False
End If

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

strTexto4 = "AB7DE"

If strTexto4 Like "AB[!A-Z]DE" Then
 blnResultado4 = True
Else
 blnResultado4 = False
End If

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

strTexto5 = "ABcDE"
   
If strTexto5 Like "AB[A-Za-z]DE" Then
 blnResultado5 = True
Else
 blnResultado5 = False
End If

Ao executar o código, você pode ver que o operador Like retorna True nas variáveis blnResultado para cada comparação:

exemplo like resultados

Imagem 2. Uso do operador Like com diferentes padrões de correspondência

vba-free-addin

Exemplos de Add-ins de Códigos VBA

Acesse facilmente todos os exemplos de código que se encontram em nosso site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(Nenhuma instalação necessária!)

Baixe de Graça

Retornar aos Exemplos de Códigos VBA