Operadores lógicos VBA: AND, OR, NOT
Operadores lógicos do Excel VBA
Digamos que você queira processar um pedido de cliente. Para isso, você deve primeiro verificar se o produto pedido existe ou não. Em caso afirmativo, você também deseja verificar se a quantidade disponível é suficiente. Os operadores lógicos são úteis nesses casos. Operadores lógicos são usados para avaliar mais de uma condição.
Os principais operadores lógicos do Excel VBA AND, OR, NOT estão listados na tabela abaixo:
S / N | Operador | Descrição | Exemplo | Resultado |
1 | E | E: Isso é usado para combinar mais de uma condição. Se todas as condições forem verdadeiras, AND será avaliado como verdadeiro. Se alguma das condições for falsa, AND avalia como falsa | Se verdadeiro = verdadeiro AND falso = verdadeiro ENTÃO | falso |
2 | OU | OU: Isso é usado para combinar mais de uma condição. Se alguma das condições for avaliada como verdadeira, OR retornará verdadeiro. Se todos eles forem falsos, OR retorna falso | Se verdadeiro = verdadeiro OU verdadeiro = falso ENTÃO | verdade |
3 | NÃO | NÃO: Este funciona como uma função inversa. Se a condição for verdadeira, ela retornará falsa e, se uma condição for falsa, ela retornará verdadeira. | Se NÃO (verdadeiro) Então | falso |
Código-fonte de exemplo de operadores lógicos VBA
Por uma questão de simplicidade, compararemos números codificados permanentemente.
Adicione botões ActiveX à planilha a partir da "opção Inserir".
Defina as propriedades conforme mostrado na imagem abaixo
A tabela a seguir mostra as propriedades que você precisa alterar e os valores que você também precisa atualizar.
S / N | Ao controle | Propriedade | Valor |
1 | CommandButton1 | Nome | btnAND |
Rubrica | Operador AND (0 = 0) | ||
2 | CommandButton2 | Nome | btnOR |
Rubrica | Operador OR (1 = 1) Ou (5 = 0) | ||
3 | CommandButton3 | Nome | btnNOT |
Rubrica | NÃO operador, não (0 =) |
Adicione o seguinte código a btnAND_Click
Private Sub btnAND_Click()If (1 = 1) And (0 = 0) ThenMsgBox "AND evaluated to TRUE", vbOKOnly, "AND operator"ElseMsgBox "AND evaluated to FALSE", vbOKOnly, "AND operator"End IfEnd Sub
Operador VBA If AND
- "If (1 = 1) And (0 = 0) Then" a instrução if usa o operador lógico AND para combinar duas condições (1 = 1) And (0 = 0). Se ambas as condições forem verdadeiras, o código acima da palavra-chave 'Else' será executado. Se ambas as condições não forem verdadeiras, o código abaixo da palavra-chave 'Else' será executado.
Adicione o seguinte código a btnOR_Click
Private Sub btnOR_Click()If (1 = 1) Or (5 = 0) ThenMsgBox "OR evaluated to TRUE", vbOKOnly, "OR operator"ElseMsgBox "OR evaluated to FALSE", vbOKOnly, "OR operator"End IfEnd Sub
Operador VBA If OR
- "If (1 = 1) Or (5 = 0) Then" a instrução if usa o operador lógico OR para combinar duas condições (1 = 1) E (5 = 0). Se alguma das condições for verdadeira, o código acima da palavra-chave Else será executado. Se ambas as condições forem falsas, o código abaixo da palavra-chave Else será executado.
Adicione o seguinte código a btnNOT_Click
Private Sub btnNOT_Click()If Not (0 = 0) ThenMsgBox "NOT evaluated to TRUE", vbOKOnly, "NOT operator"ElseMsgBox "NOT evaluated to FALSE", vbOKOnly, "NOT operator"End IfEnd Sub
VBA se NÃO Operador
- "If Not (0 = 0) Then" a função VBA If Not usa o operador lógico NOT para negar o resultado da condição da instrução if. Se as condições forem verdadeiras, o código abaixo da palavra-chave 'Else' será executado. Se a condição for verdadeira, o código acima da palavra-chave Else será executado.
Baixe o Excel contendo o código acima