Função VBA OR

Ou é uma função lógica em qualquer uma das linguagens de programação e semelhante no VBA temos a função OR, pois é uma função lógica o resultado dado por esta função é verdadeiro ou falso, esta função é usada para duas ou muitas condições juntas e dá us resultado verdadeiro quando uma das condições é retornada como verdadeira.

O que é a função OR no VBA?

No Excel, as funções lógicas são o coração das fórmulas que usamos diariamente. As funções lógicas existem para conduzir o teste lógico e fornecer resultados no tipo de dados Booleano, ou seja, TRUE ou FALSE. Algumas das fórmulas lógicas no excel são “IF, IFERROR no excel, ISERROR no excel, AND e OR função excel”. Espero que você os tenha usado com frequência como uma função de planilha. Também em VBA podemos usar todos eles e neste artigo explicaremos como usar a função “VBA OR”.

Qual é a primeira coisa que vem à sua mente quando pensa na palavra “OU”?

Em termos simples, "OU" significa "isso ou aquilo"

Com a mesma ideia, OR é uma função lógica que dá o resultado TRUE se qualquer um dos testes lógicos for TRUE e dá FALSE como resultado se nenhum dos testes lógicos for TRUE.

Isso funciona exatamente oposto à função VBA AND. A função AND retorna TRUE apenas se todas as condições lógicas forem TRUE, se qualquer uma das condições não for satisfeita, obteremos FALSE como resultado.

Fórmula da função VBA OR

Deixe-me criar uma sintaxe para você entender a função.

[Teste lógico] OU [Teste lógico] OU [Teste lógico]

Primeiro, precisamos mencionar o que é o teste lógico, depois mencionar a palavra OU e, em seguida, mencionar o que é o segundo teste lógico. Se você deseja realizar um teste mais lógico, mencione a palavra OU após o teste lógico de everting.

Fora de todos os testes lógicos que você fizer, se qualquer um dos testes for satisfeito ou verdadeiro, obteremos o resultado como TRUE. Se nenhum ou satisfeito, o resultado será FALSE.

Exemplos de uso da função OR em VBA

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

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

Para entender a função lógica do VBA OU deixe-me dar um exemplo. Digamos que desejamos realizar o teste lógico se o número 25 é maior que 20 ou se o número 50 é menor que 30.

Etapa 1: Crie um nome de macro.

Etapa 2: defina a variável como uma string.

Código:

 Sub OR_Example1 () Dim i As String End Sub 

Passo 3: Agora para esta variável, atribuiremos o valor por meio do teste lógico OR.

Código:

 Sub OR_Example1 () Dim i As String i = End Sub 

Etapa 4: nosso primeiro teste lógico é 25> 20 .

Código:

 Sub OR_Exemplo1 () Dim i As String i = 25> 20 End Sub 

Passo 5: Agora, após o primeiro teste lógico, mencione a palavra OU e entre no segundo teste lógico.

Código:

 Sub OR_Example1 () Dim i As String i = 25> 20 ou 50 <30 End Sub 

Etapa 6: Ok, agora a função VBA OR testa se os testes lógicos são TRUE ou FALSE. Agora atribua o resultado da variável à caixa de mensagem do VBA .

Código:

 Sub OR_Example1 () Dim i As String i = 25> 20 Ou 50 <30 MsgBox i End Sub 

Etapa 7: Execute a macro e qual é o resultado.

Obtivemos o resultado como TRUE porque, de dois testes lógicos, fornecemos um teste é TRUE, então o resultado é TRUE.

25 é maior que 20 e 50 não é menor que 30, neste caso, o primeiro teste lógico é TRUE, mas o segundo é FALSE. Como aplicamos a função VBA OR, é necessário que qualquer uma das condições seja TRUE para obter o resultado como TRUE.

Agora, olhe para o código abaixo.

Código:

 Sub OR_Example1 () Dim i As String i = 25 = 20 Ou 50 = 30 MsgBox i End Sub 

Eu mudei as equações do teste lógico de> e <para o sinal de igual (=). Isso retornará FALSE como resultado porque 25 não é igual a 20 e 50 não é igual a 30.

A função VBA OU com condição IF é poderosa

Como eu disse, OR pode retornar VERDADEIRO ou FALSO como resultado, mas com a outra função lógica “SE”, podemos manipular os resultados conforme nossas necessidades.

Faça os mesmos testes lógicos acima, OR retornou apenas TRUE ou FALSE, mas vamos combinar este OR com IF.

Passo 1: Antes de realizar qualquer teste, abra a função IF .

Código:

 Sub OR_Example2 () Dim i As String IF End Sub 

Passo 2: Agora conduza testes usando a função OR .

Código:

 Sub OR_Example2 () Dim i As String IF 25 = 20 Or 50 = 30 End Sub 

Passo 3: Coloque a palavra “Então” e escreva o resultado se a condição for TRUE, atribua o valor à variável como “A condição está satisfeita” .

Código:

 Sub OR_Example2 () Dim i As String If 25 = 20 Or 50 = 30 Then i = "Condição satisfeita" End Sub 

Passo 4: Se a condição for FALSE então precisamos de um resultado diferente, então coloque a palavra “ELSE” e na próxima linha atribua o valor à variável “qual deve ser o resultado se a condição ou teste lógico for FALSE”.

Código:

 Sub OR_Example2 () Dim i As String If 25 = 20 Or 50 = 30 Then i = "Condição satisfeita" Else i = "Condição não satisfeita" End Sub 

Passo 5: Finalize a função IF com a palavra “End If” .

Código:

 Sub OR_Example2() Dim i As String If 25 = 20 Or 50 = 30 Then i = "Condition is Satisfied" Else i = "Condition is not Satisfied" End If End Sub 

Step 6: Assign the value of the variable result to the message box.

Code:

 Sub OR_Example2() Dim i As String If 25 = 20 Or 50 = 30 Then i = "Condition is Satisfied" Else i = "Condition is not Satisfied" End If MsgBox i End Sub 

Run the macro, if the logical test is TRUE we will get the result as “Condition is Satisfied” or else we will get “Condition is not Satisfied”.

We got the result as “Condition is not Satisfied” because both the logical tests are FALSE.

Now I will change the logical tests.

Code:

 Sub OR_Example2() Dim i As String If 25 > 20 Or 50 < 30 Then i = "Condition is Satisfied" Else i = "Condition is not Satisfied" End If MsgBox i End Sub 

I will run the macro and see what the result is.

Like this, we can use one logical function with other logical functions to arrive at the results.

Solve the below case study to get used to logical functions.

Case Study to Solve

I have employee names and their respective departments.

If you have tried and not found the result then you can refer below code to understand the logic.

Code:

 Sub Bonus_Calculation() Dim i As Long For i = 2 To 10 If Cells(i, 2).Value = "Finance" Or Cells(i, 2).Value = "IT" Then Cells(i, 3).Value = 5000 Else Cells(i, 3).Value = 1000 End If Next i End Sub 

If the employee is from “Finance” or “IT” then they should get the bonus as “5000”. For other department employees, the bonus is “1000”.

Conduct the logical test and arrive at the results.