VBA Like

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, então o 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 sua extensão em sua codificação, Na verdade, eu sou um deles que não usa esse operador com freqüê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 temos uma string “CAT” e o padrão é “C? T”, então o operador VBA LIKE retorna 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.

Você pode baixar este modelo VBA Like Excel aqui - VBA Like Excel Template

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”. Visto que o ponto de interrogação pode corresponder a um único caractere, o resultado será “Sim”.

Agora vou mudar a string para “Good Morning”.

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 “Good” na string “Good Morning” e retornará “Yes”.

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, eu mencionei os caracteres para corresponder 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.