VBA – Diferente de, Maior que, Igual a e Outros Operadores de Comparação

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Daniel Caramello

Last updated on May 23, 2023

O VBA permite que você use operadores de comparação para comparar valores. Ao usar esses operadores, você pode comparar valores e retornar um booleano Verdadeiro ou Falso como resultado.

Principais Operadores de Comparação no VBA

Estes são os principais operadores de comparação usados no VBA:

Operador de comparação

Explicação
=

Igual a

<>

Diferente de

>

Maior que

>=

Maior que ou igual a

<

Menor que

<=

Menor que ou igual a

Diferente de (<>)

O Diferente de é <>. Ele verifica se dois valores não são iguais e retorna VERDADEIRO ou FALSO. É uma combinação dos operadores Menor que e Maior que.

Este exemplo testará se 5 não é igual a 3 e retornará FALSO em uma MessageBox:

MsgBox 5 <> 3

Valor da Célula Diferente de

Há várias maneiras de comparar números. No exemplo anterior, codificamos 5 e 3 em nosso código. Vamos demonstrar duas outras maneiras de comparar valores.

Este exemplo testará se dois valores de célula não são iguais um ao outro:

MsgBox Range("A1").Value <> Range("B1").value

Outra forma de comparar valores é por meio de variáveis.

Sub DiferenteDe()
  Dim intA As Integer
  Dim intB As Integer
  Dim blnResult As Boolean

  intA = 5
  intB = 6

  If intA <> intB Then
    blnResult = True
  Else
    blnResult = False
  End If

End Sub

Neste exemplo, queremos verificar se a variável inteira intA não é igual a intB. Se isso for verdade, o valor da variável booleana blnResult será True; caso contrário, será False.

Usamos a tag <> na declaração If para verificar se os valores de intA e intB são diferentes:

If intA <> intB Then
    blnResult = True
Else
    blnResult = False
End If

O valor de intA é 5 e o valor de intB é 6, as variáveis não são iguais, portanto, o blnResult retorna True:

exemplo diferente de

 

Igual a

O valor Igual a funciona exatamente da mesma forma. Ele verifica se dois valores são iguais e retorna True (verdadeiro) ou False (falso). Aqui está o código de exemplo:

Sub IgualA ()
  Dim intA As Integer
  Dim intB As Integer
  Dim blnResult As Boolean

  intA = 5
  intB = 5 

  If intA = intB Then
    blnResult = True
  Else
    blnResult = False
  End If
End Sub

Neste exemplo, queremos verificar se intA é igual a intB. Se isso for verdade, o valor do booleano blnResult será True; caso contrário, será False.

Primeiro, definimos os valores de intA e intB como 5:

intA = 5
intB = 5

Depois disso, usamos a função = na instrução If para verificar se os valores de intA e intB são iguais:

If intA = intB Then
    blnResult = True
Else
    blnResult = False
End If

Ambas as variáveis são iguais a 5, portanto, o blnResult retorna True:

exemplo comparacao igual

Maior que / Menor que

O Maior que (>) e Menor que (<) funcionam exatamente da mesma forma.

Maior que

MsgBox 5 > 3

Menor que

MsgBox 5 < 3

Maior que ou Igual a / Menor que ou Igual a

Para testar se um valor é Maior que ou Igual a combinam o operador Igual a (=) e os operadores Maior que (>) / Menor que (<).

Maior que ou Igual a

MsgBox 5 >= 3

Menor que ou igual a

MsgBox 5 <= 3

Vamos usar Maior que ou Igual a no mesmo procedimento que estamos usando:

Sub MaiorQueIIgualA ()
  Dim intA As Integer
  Dim intB As Integer
  Dim blnResult As Boolean

  intA = 5
  intB = 5

  If intA >= intB Then
    blnResult = True
  Else
    blnResult = False
  End If

End Sub

Neste exemplo, queremos verificar se intA é maior ou igual a intB. Se isso for verdade, o valor do booleano blnResult será True; caso contrário, será False.

Usamos o símbolo >= na instrução If para verificar se o valor de intA é maior ou igual a intB:

If intA >= intB Then
    blnResult = True
Else
    blnResult = False
End If

Em conclusão, como ambas as variáveis são iguais a 5, o blnResult retorna True:

exemplo maior igual

Operador Is

O operador Is testa se duas variáveis de objeto contêm o mesmo objeto:

Sub CompararObjetos()
Dim ws1 As Worksheet, ws2 As Worksheet
 
Set ws1 = Sheets("Planilha1")
Set ws2 = Sheets("Planilha2")
 
If ws1 Is ws2 Then
    MsgBox "Mesma WS"
Else
    MsgBox "WSs Diferentes"
End If
 
End Sub

Operador Like

O operador Like pode ser usado para encontrar correspondências de texto inexatas. Este exemplo testará se uma string começa com “Mr.”

Sub ExemploLike()

Dim strName As String
Dim blnResult As Boolean

strName = "Mr. Michael James" 

If strName Like "Mr*" Then
    blnResult = True
Else
    blnResult = False
End If

End Sub

Se você quiser saber como comparar cadeias de caracteres, clique aqui: VBA Compare Strings – StrComp

Se você quiser saber mais sobre como usar operadores lógicos, clique aqui: Operadores lógicos do VBA

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