Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Usado para comparar expressões.
Sintaxe
Resultado = expression1comparisonoperatorexpression2result = object1Isobject2 result = stringLikepattern
Os operadores de comparação têm estas partes:
| Sair | Descrição |
|---|---|
| resultado | Obrigatório; qualquervariável numérica. |
| expression | Obrigatório; qualquer expressão. |
| ComparisonOperator | Obrigatório; qualquer operador de comparação. |
| objeto | Obrigatório; Qualquer nome de objeto. |
| cadeia de caracteres | Obrigatório; qualquer expressão de cadeia de caracteres. |
| padrão | Obrigatório; Qualquer cadeia de caracteres, expressão ou intervalo de caracteres. |
Comentários
A tabela a seguir contém uma lista dos operadores de comparação e as condições que determinam se o resultado é Verdadeiro, Falso ou Nulo.
| Operador | True se | Falso se | Null se |
|---|---|---|---|
< (Menor que) |
expressão1<expressão2 | expressão1>= expression2 | expression1 ou expression2 = Null |
<= (Menor ou igual a) |
expressão1<= expression2 | expressão1>expressão2 | expression1 ou expression2 = Null |
> (Maior que) |
expressão1>expressão2 | expressão1<= expression2 | expression1 ou expression2 = Null |
>= (Maior que ou igual a) |
expressão1>= expression2 | expressão1<expressão2 | expression1 ou expression2 = Null |
= (Igual a) |
expressão1 = expressão2 | expressão1<>expressão2 | expression1 ou expression2 = Null |
<> (Diferente de) |
expressão1<>expressão2 | expressão1 = expressão2 | expression1 ou expression2 = Null |
Observação
Os operadores Is e Like têm uma funcionalidade de comparação específica que difere dos operadores na tabela.
Ao comparar duas expressões, talvez você não consiga determinar facilmente se elas estão sendo comparadas como números ou como cadeias de caracteres. A tabela a seguir mostra como as expressões são comparadas ou o resultado quando uma das expressões não é uma Variant.
| Se | Then |
|---|---|
| Ambas as expressões são tipos de dados numéricos (Byte, Booliano, Inteiro, Longo, Simples, Duplo, Data, Conversor de Moedas ou Decimal) | Execute uma comparação numérica. |
| Ambas as expressões são String | Faça uma comparação de cadeia de caracteres. |
| Uma expressão é um tipo de dados numérico e a outra é uma Variant que é, ou pode ser, um número | Execute uma comparação numérica. |
| Uma expressão é um tipo de dados numérico e a outra é uma cadeia de caracteres Variant que não pode ser convertida em número | Ocorre um Type Mismatch erro. |
| Uma expressão é uma String e a outra é qualquer Variant , exceto uma Null | Faça uma comparação de cadeia de caracteres. |
| Uma expressão é Vazia e a outra é um tipo de dados numérico | Execute uma comparação numérica, usando 0 como a expressão vazia . |
| Uma expressão é Empty e a outra é uma String | Execute uma comparação de cadeia de caracteres, usando uma cadeia de comprimento zero ("") como a expressão Vazia . |
Se expression1 e expression2 forem expressões Variant , seu tipo subjacente determinará como elas serão comparadas. A tabela a seguir mostra como as expressões são comparadas ou o resultado da comparação, dependendo do tipo subjacente do Variant.
| Se | Then |
|---|---|
| Ambas as expressões Variant são numéricas | Execute uma comparação numérica. |
| Ambas as expressões Variant são cadeias de caracteres | Faça uma comparação de cadeia de caracteres. |
| Uma expressão Variant é numérica e a outra é uma cadeia de caracteres | A expressão numérica é menor que a expressão de cadeia de caracteres. |
| Uma expressão Variant é Vazia e a outra é numérica | Execute uma comparação numérica, usando 0 como a expressão vazia . |
| Uma expressão Variant é Vazia e a outra é uma cadeia de caracteres | Execute uma comparação de cadeia de caracteres, usando uma cadeia de comprimento zero ("") como a expressão Vazia . |
| Ambas as expressões Variant estão Vazias | As expressões são iguais. |
Quando um Single é comparado a um Double, o Double é arredondado para a precisão do Single. Se um Conversor de Moedas for comparado com um Simples ou Duplo, o Simples ou Duplo é convertido em um Conversor de Moedas.
Da mesma forma, quando um Decimal é comparado com um Simples ou Duplo, o Simples ou Duplo é convertido em um Decimal. Para Conversor de Moedas, qualquer valor fracionário menor que 0,0001 pode ser perdido; para Decimal, qualquer valor fracionário menor que 1E-28 pode ser perdido ou pode ocorrer um erro de estouro. Essa perda de valor fracionário pode fazer com que dois valores sejam comparados como iguais quando não são.
Exemplo
Este exemplo mostra vários usos de operadores de comparação, que você usa para comparar expressões.
Dim MyResult, Var1, Var2
MyResult = (45 < 35) ' Returns False.
MyResult = (45 = 45) ' Returns True.
MyResult = (4 <> 3) ' Returns True.
MyResult = ("5" > "4") ' Returns True.
Var1 = "5": Var2 = 4 ' Initialize variables.
MyResult = (Var1 > Var2) ' Returns True.
Var1 = 5: Var2 = Empty
MyResult = (Var1 > Var2) ' Returns True.
Var1 = 0: Var2 = Empty
MyResult = (Var1 = Var2) ' Returns True.
Confira também
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.