VBA IF OR

SE OR não são uma única instrução, essas são duas funções lógicas que são usadas juntas algumas vezes no VBA, usamos essas duas funções lógicas juntas quando temos mais de um critério para verificar e se qualquer um dos critérios é atendido, obtemos o verdadeiro resultado, quando usamos a instrução if, Ou a instrução é usada entre os dois critérios da instrução If.

Função IF OR em VBA

As funções lógicas são o coração de quaisquer cálculos baseados em critérios. “IF” é a função lógica mais popular, seja como função de planilha ou como função VBA, ela atende perfeitamente às nossas necessidades. Mas mais uma função lógica “OU” no Excel é a função mais subestimada. Também é importante dominar quando se trata de resolver cálculos complexos. Neste artigo, mostraremos detalhadamente a função IF OR do VBA. Leia o artigo completo para obter a função em detalhes.

Como usar IF com a função OR no VBA?

Mostraremos um exemplo simples de uso da função IF OR no VBA.

Você pode baixar este modelo VBA IF OU Excel aqui - modelo VBA IF OU Excel

A combinação de funções lógicas são os melhores pares no Excel. Quando você combina muitas fórmulas lógicas dentro da outra fórmula lógica, isso sugere que o cálculo requer muitas condições para teste.

Agora, observe a sintaxe da função IF OR no VBA.

[Teste] OU [Teste] OU [Teste]

É o mesmo que vimos no exemplo da planilha. Para uma melhor compreensão, veja o exemplo abaixo.

Temos o preço do mês anterior, o preço médio dos últimos 6 meses e o preço mensal atual aqui.

Para decidir se compramos o produto ou não, precisamos fazer alguns testes aqui e esses testes são.

Se o Preço Atual for menor ou igual a qualquer um dos outros dois preços, devemos obter o resultado como “Comprar” ou então obter o resultado como “Não Compre” .

Etapa 1: Abra a condição IF dentro do subprocedimento.

Código:

 Sub IF_OR_Example1 () If End Sub 

Passo 2: Dentro da condição IF aplique o primeiro teste lógico como Faixa (“D2”). Valor <= Faixa (“B2”). Valor

Código:

 Sub IF_OR_Example1 () If Range (“D2”). Value <= Range (“B2”). Value End Sub 

Etapa 3: a primeira condição lógica está concluída, agora abra a instrução OR.

Código:

 Sub IF_OR_Example1 () If Range ("D2"). Value <= Range ("B2"). Value OR End Sub 

Passo 4: Agora aplique a segunda condição lógica como Faixa (“D2”). Valor <= Faixa (“C2”). Valor

Código:

 Sub IF_OR_Example1 () If Range ("D2"). Value <= Range ("B2"). Value OR Range ("D2"). Value <= Range ("C2"). Value End Sub 

Etapa 5: Ok, terminamos os testes de lógica aqui. Após os testes lógicos coloque a palavra “Então”.

Código:

 Sub IF_OR_Example1 () If Range ("D2"). Value <= Range ("B2"). Value Or Range ("D2"). Value <= Range ("C2"). Value Then End Sub 

Passo 6: Na próxima linha escreva qual deve ser o resultado se o teste lógico for VERDADEIRO. Se a condição for TRUE, precisamos do resultado como “Buy” na célula E2.

Código:

 Sub IF_OR_Example1 () If Range ("D2"). Value <= Range ("B2"). Value Or Range ("D2"). Value <= Range ("C2"). Value Then Range ("E2"). Valor = "Comprar" End Sub 

Etapa 7: Se o resultado for FALSO, devemos obter o resultado como “Não compre”. Então, na próxima linha coloque “Else” e escreva o código na próxima linha.

Código:

 Sub IF_OR_Example1 () If Range ("D2"). Value <= Range ("B2"). Value Or Range ("D2"). Value <= Range ("C2"). Value Then Range ("E2"). Valor = "Comprar" Outra faixa ("E2"). Valor = "Não comprar" End Sub 

Etapa 8: Feche a instrução IF com a palavra “End If”.

Código:

 Sub IF_OR_Example1 () If Range ("D2"). Value <= Range ("B2"). Value Or Range ("D2"). Value <= Range ("C2"). Value Then Range ("E2"). Value = "Buy" Else Range ("E2"). Value = "Do Not Buy" End If End Sub 

Ok, terminamos com a parte de codificação.

Vamos executar este código usando F5 ou manualmente por meio da opção run e ver qual é o resultado na célula E2.

Obtivemos o resultado como “Comprar” porque o preço mensal atual da Apple é menor que o preço tanto do “Mês Anterior” quanto do “Preço Médio de 6 Meses”.

Função IF OU VBA com Loops (Avançado)

Depois de entender a fórmula, tente usá-la com um número maior de células. No caso de um número maior de células, não podemos escrever nenhuma linha de código, portanto, precisamos usar loops VBA.

Para o conjunto de dados acima, adicionei mais algumas linhas.

Precisamos usar o loop For Next aqui.

Basta manter o código atual como está.

Declare a variável como um inteiro.

Agora abra For Next Loop de 2 a 9.

Agora, onde quer que tenhamos referência de célula, muda o número atual e concatena a variável “k” com eles.

Por exemplo, Faixa (“D2”). O valor deve ser Faixa (“D” e k) .Valor

Agora execute o código que devemos obter o status em todas as células.

Você pode copiar o código abaixo.

Código:

 Sub IF_OR_Example1() Dim k As Integer For k = 2 To 9 If Range("D" & k).Value <= Range("B" & k).Value Or Range("D" & k).Value <= Range("C" & k).Value Then Range("E" & k).Value = "Buy" Else Range("E" & k).Value = "Do Not Buy" End If Next k End Sub