O VBA permite que você use operadores de comparação para comparar valores. Usando esses operadores, você pode comparar valores e retornar um booleano verdadeiro ou falso como resultado.
A lista dos principais operadores de comparação em VBA
Primeiro, exibiremos a lista de operadores de comparação que podem ser usados no código VBA:
Operador de comparação | Explicação |
= |
Igual a |
Diferente de |
|
> |
Maior que |
>= |
Melhor que ou igual a |
< |
Menor que |
<= |
Menos que ou igual a |
Igual a
o Igual a operador verifica se dois valores são iguais e retorna Verdadeiro ou Falso. Aqui está o código de exemplo:
123456789101112 | Dim intA As IntegerDim intB As IntegerDim blnResult As BooleanintA = 5intB = 5Se intA = intB EntãoblnResult = TrueOutroblnResult = FalseFim se |
Neste exemplo, queremos verificar se intA é igual a intB. Se isso for verdade, o valor de Boolean blnResult será True, caso contrário, será False.
Primeiro, definimos valores de intA e intB a 5:
12 | intA = 5intB = 5 |
Depois disso, usamos o = operador na instrução If para verificar se os valores de intA e intB são iguais:
12345 | Se intA = intB EntãoblnResult = TrueOutroblnResult = FalseFim se |
Ambas as variáveis são iguais a 5, portanto, o blnResult retorna True:
Imagem 1. Usando o operador Equal To
Diferente de
o Não Igual a operador verifica se dois valores não são iguais e retorna Verdadeiro ou Falso. Aqui está o código de exemplo:
Ocorreu um erro. Por favor, tente novamente mais tarde. |
Neste exemplo, queremos verificar se intA não é igual a intB. Se isso for verdade, o valor de Boolean blnResult será True, caso contrário, será False.
Nós usamos o operador na instrução If para verificar se os valores de intA e intB são diferentes:
12345 | If intA intB ThenblnResult = TrueOutroblnResult = FalseFim se |
O valor de intA é 5 e o valor de intB é 6, as variáveis não são iguais, portanto o blnResult retorna True:
Imagem 2. Usando o operador Diferente de
Maior que
o Maior que operador verifica se o primeiro valor é maior que o segundo valor e retorna Verdadeiro ou Falso. Aqui está o código de exemplo:
123456789101112 | Dim intA As IntegerDim intB As IntegerDim blnResult As BooleanintA = 6intB = 5Se intA> intB EntãoblnResult = TrueOutroblnResult = FalseFim se |
Neste exemplo, queremos verificar se intA é melhor que intB. Se isso for verdade, o valor de Boolean blnResult será True, caso contrário, será False.
Além disso, usamos o > operador na instrução If, a fim de verificar se o valor de intA é melhor que intB:
12345 | Se intA> intB EntãoblnResult = TrueOutroblnResult = FalseFim se |
Em conclusão, comointA é melhor que intB, a blnResult retorna True:
Imagem 3. Usando o operador Greater Than
Melhor que ou igual a
o Melhor que ou igual a operador verifica se o primeiro valor é maior ou igual ao segundo valor e retorna Verdadeiro ou Falso. Aqui está o código de exemplo:
123456789101112 | Dim intA As IntegerDim intB As IntegerDim blnResult As BooleanintA = 5intB = 5Se intA> = intB EntãoblnResult = TrueOutroblnResult = FalseFim se |
Neste exemplo, queremos verificar se intA é maior que ou igual a intB. Se isso for verdade, o valor de Boolean blnResult será True, caso contrário, será False.
Usamos o>= operador na instrução If para verificar se o valor de intA é maior que ou igual a intB:
12345 | Se intA> = intB EntãoblnResult = TrueOutroblnResult = FalseFim se |
Em conclusão, como ambas as variáveis são iguais a 5, o blnResult retorna True:
Imagem 4. Usando o operador Maior que ou igual a
Menor que
o Menor que operador verifica se o primeiro valor é menor que o segundo valor e retorna Verdadeiro ou Falso. Aqui está o código de exemplo:
123456789101112 | Dim intA As IntegerDim intB As IntegerDim blnResult As BooleanintA = 5intB = 6Se intA <intB EntãoblnResult = TrueOutroblnResult = FalseFim se |
Neste exemplo, queremos verificar se intA é menos do que intB. Se isso for verdade, o valor de Boolean blnResult será True, caso contrário, será False.
Nós usamos o < operador na instrução If para verificar se o valor de intA é menos do que intB:
12345 | Se intA <intB EntãoblnResult = TrueOutroblnResult = FalseFim se |
Como intA é menos do que intB, a blnResult retorna True:
Imagem 5. Usando o operador Less Than
Menos que ou igual a
o Menor que ou Igual a operador verifica se o primeiro valor é menor ou igual a e retorna Verdadeiro ou Falso. Aqui está o código de exemplo:
123456789101112 | Dim intA As IntegerDim intB As IntegerDim blnResult As BooleanintA = 5intB = 5Se intA <= intB EntãoblnResult = TrueOutroblnResult = FalseFim se |
Neste exemplo, queremos verificar se intA é menor ou igual a intB. Se isso for verdade, o valor de Boolean blnResult será True, caso contrário, será False.
Nós usamos o <= operador na instrução If para verificar se o valor de intA é menor ou igual a intB:
12345 | Se intA <= intB EntãoblnResult = TrueOutroblnResult = FalseFim se |
Em conclusão, como ambas as variáveis são iguais a 5, o blnResult retorna True:
Imagem 6. Usando o operador Menor que ou Igual a
É Operador
O operador Is testa se duas variáveis de objeto contêm o mesmo objeto:
12345678910111213 | Sub CompareObjects ()Dim ws1 como planilha, ws2 como planilhaDefinir ws1 = Folhas ("Folha1")Definir ws2 = Folhas ("Folha2")Se ws1 for ws2, entãoMsgBox "Mesmo WS"OutroMsgBox "Diferentes WSs"Fim seEnd Sub |
Like Operator
O operador Like pode ser usado para encontrar correspondências de texto inexatas. Este exemplo testará se uma string começa com “Sr.”
1234567891011121314 | Sub LikeDemo ()Dim strNome como stringDim blnResult As BooleanstrName = "Sr. Michael James"Se strNome Like "Mr *" EntãoblnResult = TrueOutroblnResult = FalseFim seEnd Sub |
Se você quiser aprender como comparar strings, clique aqui: VBA Compare Strings - StrComp
Se você quiser aprender como usar operadores de comparação, clique aqui: Operadores lógicos VBA