VBA – Diferente de, Maior que, Igual a e Outros Operadores de Comparação
In this Article
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:
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:
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:
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