IF 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 resultado verdadeiro, 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 uma função de planilha ou como uma 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 a função VBA IF OR em detalhes. 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.
Uma 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 um melhor entendimento, 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 comprar".
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 TRUE. 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 = "Comprar" Else Range ("E2"). Value = "Do Not Buy" End If End Sub

Ok, terminamos com a parte de codificação.
Vamos executar esse 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 do “Mês anterior” e do “Preço médio de 6 meses”.
Função IF OU VBA com Loops (Avançado)
Once you understand the formula, try to use it with a larger number of cells. In the case of a larger number of cells, we cannot write any line of code, so we need to use VBA loops.
For the above set of data, I have added a few more lines.

We need to use the For Next loop here.
Just keep the current code as it is.
Declare the variable as an integer.

Now open For Next Loop from 2 to 9.

Now, wherever we have cell reference, change the current number, and concatenate the variable “k” with them.
For example, Range (“D2”).Value should be Range (“D” & k).Value

Now run the code. We should get the status in all the cells.

You can copy the code below.
Code:
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 <= Intervalo ("C" & k) .Valor Depois Intervalo ("E" & k) .Valor = "Comprar" Ou Intervalo ("E" & k) .Valor = "Não comprar" End If Next k End Sub