VBA Like Operator
Like é um operador em VBA e este é um operador de comparação que compara uma determinada string como argumento em um conjunto de strings e corresponde ao padrão, se o padrão for correspondido, o resultado obtido é verdadeiro e se o padrão não corresponder, o resultado obtido é falso, este é um operador embutido no VBA.
O operador “LIKE” é o menos utilizado, apesar de seu uso maravilhoso. Não tenho visto muitas pessoas que usam esse operador em toda a extensão em sua codificação. Na verdade, sou um deles que não usa esse operador com frequência. O operador “VBA LIKE” nos permite comparar o padrão da string com a string inteira. Usando o operador VBA LIKE, podemos comparar duas strings com o padrão fornecido. Podemos verificar se a string contém uma substring em VBA ou também se a string contém algum formato específico. Se o padrão corresponder à string, o operador VBA LIKE retornará TRUE ou FALSE.
Ao combinar strings, precisamos usar caracteres curinga para o padrão que especificamos. Abaixo estão os curingas que usamos no operador VBA LIKE.
- Ponto de interrogação (?): É usado para corresponder a qualquer caractere da string. Por exemplo, se tivermos uma string “CAT” e o padrão for “C? T”, o operador VBA LIKE retornará TRUE. Se a string for “CATCH e os padrões forem“ C? T ”, o operador VBA LIKE retornará FALSE.
- Asterisco (*): Corresponde a zero ou mais caracteres. Por exemplo, se a string for “Good” e o padrão for “G ** d,” o operador VBA LIKE retornará TRUE.
- Colchetes (()): Corresponde a qualquer caractere único especificado nos colchetes.
- (Char-Char): Corresponde a qualquer caractere único no intervalo Char-Char.
- (! Chars): Corresponde a qualquer caractere único que não esteja na lista.
- (! Char-Char): Corresponde a qualquer caractere único que não esteja no intervalo Char-Char.

Exemplos de operador VBA LIKE
Vamos ver alguns dos exemplos do operador VBA LIKE agora.
Exemplo # 1 - com ponto de interrogação
Código:
Sub QuestionMark_Example1 () Dim k As String k = "Bom" If k Like "Go? D" Then MsgBox "Sim" Else MsgBox "Não" End If End Sub
No código acima, fornecemos a string como "Good" e o padrão é "Go? D." Como o ponto de interrogação pode corresponder a um único caractere, ele mostrará o resultado como “Sim”.

Agora vou mudar a string para "Bom dia".
Código:
Sub QuestionMark_Example1 () Dim k As String k = "Bom dia" If k Like "Go? D" Then MsgBox "Sim" Else MsgBox "Não" End If End Sub
Nesse caso, ele mostrará “Não” porque adicionamos mais uma palavra à string, ou seja, Manhã. Para corresponder a qualquer número de caracteres, precisamos usar o asterisco.

Exemplo # 2 - com asterisco
Código:
Sub QuestionMark_Example2 () Dim k As String k = "Bom dia" If k Like "* Good *" Then MsgBox "Sim" Else MsgBox "Não" End If End Sub
No exemplo acima, adicionei dois asteriscos antes e depois do caractere “* Bom *.” Isso corresponderá à palavra "Bom" na string "Bom dia" e retornará "Sim".

Exemplo # 3 - Com colchetes ()
Código:
Sub QuestionMark_Example3 () Dim k As String k = "Bom dia" If k Like "* (M) *" Then MsgBox "Sim" Else MsgBox "Não" End If End Sub
O código acima corresponde à única letra mencionada no colchete “M” e retorna o resultado como Sim.

Exemplo # 4 - Com colchetes e alfabetos (AZ)
Código:
Sub QuestionMark_Example4 () Dim k As String k = "Bom dia" If k Like "* (AD) *" Then MsgBox "Sim" Else MsgBox "Não" End If End Sub
Acima, mencionei os caracteres para combinar de A a D.
Isso retornará "Não" porque não há caracteres de A a D na string "Bom dia".

Agora vou mudar o padrão para (AH)
Código:
Sub QuestionMark_Example4 () Dim k As String k = "Bom dia" If k Like "* (AH) *" Then MsgBox "Sim" Else MsgBox "Não" End If End Sub
Isso retornará "Sim" porque de A a H, temos um caractere "G" na string "Bom dia".

Assim, podemos usar o operador VBA “LIKE” para combinar qualquer string do padrão com caracteres curinga.