Função Excel VBA AND
AND é uma função lógica, bem como um operador lógico, o que significa que se todas as condições fornecidas nesta função forem satisfeitas, então apenas teremos o resultado verdadeiro, enquanto se qualquer uma das condições falhar, a saída será retornada como falsa, temos Comando AND embutido no VBA para usar.
Espero que você tenha lido nosso artigo sobre “VBA OR” e “VBA IF OR”. Esta função é exatamente o oposto da função OR. Na função OR, precisávamos que qualquer uma das condições lógicas fornecidas fosse satisfeita para obter o resultado como TRUE. Mas na função AND é exatamente o contrário. Para obter o resultado TRUE, todos os testes lógicos fornecidos no Excel precisam ser satisfeitos.
Ok, olhe a sintaxe da função AND no Excel.
[Teste lógico] E [Teste lógico] E [Teste lógico]
Acima, tenho duas pontuações de teste em 600.
Na coluna de resultados, preciso obter o resultado como TRUE se a pontuação de ambos os testes for maior que 250.
Veja a imagem abaixo.
Quando aplicamos a função lógica AND obtemos os resultados. Nas células C4 e C5, obtivemos o resultado VERDADEIRO porque as pontuações dos Testes 1 e 2 são maiores ou iguais a 250.
Olhe para a célula C6 aqui, obtemos FALSO, embora a pontuação do Teste 2 seja igual a 250. Isso ocorre porque no Teste 1 a pontuação é de apenas 179.
Exemplos para usar VBA e funções
Você pode baixar este modelo VBA E Excel aqui - modelo VBA E ExcelExemplo 1
Por exemplo, testaremos os números aqui, se 25> = 20 e 30 <= 31.
Etapa 1: declare a variável como String.
Código:
Sub AND_Example1 () Dim K As String End Sub
Passo 2: Para a variável “k” iremos atribuir o valor aplicando a função AND.
Código:
Sub AND_Example1 () Dim K As String K = End Sub
Etapa 3: forneça a primeira condição como 25> = 20.
Código:
Sub AND_Example1 () Dim K As String K = 25> = 20 End Sub
Passo 4: Agora abra a função AND e forneça o segundo teste lógico, ou seja, 30 <= 29.
Código:
Sub AND_Example1 () Dim K As String K = 25> = 20 And 30 <= 29 End Sub
Passo 5: Agora mostre o resultado da variável “k” na caixa de mensagem em VBA.
Código:
Sub AND_Example1 () Dim K As String K = 25> = 20 E 30 <= 29 MsgBox K End Sub
Execute a macro para ver qual é o resultado.
Obtivemos o resultado como FALSO porque das duas condições aplicadas, a primeira condição 25> = 20, essa condição é satisfeita, então o resultado é VERDADEIRO e a segunda condição 30 <= 29 este resultado não satisfeito é FALSO. Para obter o resultado como TRUE, ambas as condições devem ser satisfeitas.
Exemplo # 2
Agora vou mudar o teste lógico para “100> 95 AND 100 <200”
Código:
Sub AND_Example2 () Dim k As String k = 100> 95 E 100 <200 MsgBox k End Sub
Execute o código para ver o resultado.
Aqui temos TRUE como resultado porque
1º Teste Lógico: 100> 95 = VERDADEIRO
2º Teste Lógico: 100 <200 = VERDADEIRO
Uma vez que obtivemos os resultados TRUE para ambos os testes lógicos, nosso resultado final é TRUE.
Exemplo # 3
Agora veremos os dados da planilha. Use os dados que usamos para mostrar o exemplo da função AND do Excel.
Aqui, a condição é Pontuação do Teste 1> = 250 E Pontuação do Teste 2> = 250 .
Como temos mais de uma célula de dados, precisamos usar loops para evitar a gravação de linhas de códigos desnecessárias e demoradas. Eu escrevi o código abaixo para você, fórmula e lógica é a mesma coisa que usei “VBA For Next Loop”.
Código:
Sub AND_Example3 () Dim k As Integer For k = 2 To 6 Cells (k, 3) .Value = Cells (k, 1)> = 250 And Cells (k, 2)> = 250 Next k End Sub
Isso dará o resultado exatamente o mesmo que nossa função de planilha, mas não obteremos nenhuma fórmula, obteremos apenas resultados.
Assim, podemos aplicar a função lógica AND para testar várias condições que devem ser VERDADEIRAS para chegar aos resultados desejados.
Isso funciona completamente oposto à função OR, onde OR requer que qualquer uma das condições fornecidas seja TRUE para chegar os resultados, mas AND requer 100% de resultado em um teste lógico para chegar os resultados.