Funkce VBA NEBO (příklady) - Jak používat NEBO logického operátora ve VBA?

Nebo je logická funkce v kterémkoli z programovacích jazyků a podobně ve VBA máme funkci OR, protože se jedná o logickou funkci, výsledek daný touto funkcí je buď pravdivý, nebo nepravdivý, tato funkce se používá pro dvě nebo více podmínek společně a dává nám pravdivý výsledek, když je některá z podmínek vrácena pravdivá.

Co je funkce OR ve VBA?

V aplikaci Excel jsou logické funkce srdcem vzorců, které denně používáme. Logické funkce slouží k provádění logického testu a poskytují výsledek v booleovském datovém typu, tj. Buď PRAVDA nebo NEPRAVDA. Některé z logických vzorců v aplikaci Excel jsou „IF, IFERROR v aplikaci Excel, ISERROR v aplikaci Excel, AND a OR excel funkce.“ Doufám, že jste je často používali jako funkci listu. I ve VBA můžeme použít všechny z nich a v tomto článku vám vysvětlíme způsoby použití funkce „VBA OR“.

Co vám jako první přijde na mysl, když si vzpomenete na slovo „NEBO“?

Jednoduše řečeno, „NEBO“ znamená „buď to, nebo ono“

Se stejnou myšlenkou je OR logická funkce, která dává výsledek jako PRAVDA, pokud je některý z logických testů PRAVDA, a jako výsledek dává NEPRAVDA, pokud žádný z logických testů není PRAVDA.

To funguje přesně opačně než funkce VBA AND. Funkce AND vrací TRUE, pouze pokud jsou všechny logické podmínky TRUE. Pokud některá z podmínek není splněna, dostaneme jako výsledek FALSE.

Vzorec funkce VBA OR

Dovolte mi sestavit syntaxi, abyste funkci porozuměli.

(Logický test) NEBO (Logický test) NEBO (Logický test)

Nejprve musíme zmínit, co je to logický test, pak zmínit slovo OR, pak zmínit, co je druhý logický test. Pokud chcete provést logičtější test, uveďte slovo NEBO po provedení logického testu.

Ze všech logických testů, které provedete, pokud je některý z testů spokojený nebo pravdivý, dostaneme výsledek jako TRUE, pokud žádný nebo spokojený, pak je výsledek FALSE.

Příklady použití funkce OR ve VBA

Ukážeme vám jednoduchý příklad použití funkce OR ve VBA.

Abychom pochopili logickou funkci VBA NEBO, dovolte mi uvést příklad. Řekněme, že chceme provést logický test, zda je číslo 25 větší než 20 nebo číslo 50 menší než 30.

Krok 1: Vytvořte název makra.

Krok 2: Definujte proměnnou jako řetězec.

Kód:

Sub OR_Example1 () Dim i jako řetězec End Sub

Krok 3: Nyní této proměnné přiřadíme hodnotu pomocí logického testu NEBO.

Kód:

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

Krok 4: Náš první logický test je 25> 20 .

Kód:

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

Krok 5: Nyní, po prvním logickém testu, uveďte slovo NEBO a zadejte druhý logický test.

Kód:

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

Krok 6: Dobře, nyní funkce VBA OR testuje, zda jsou logické testy TRUE nebo FALSE. Nyní přiřaďte výsledek proměnné do schránky zpráv VBA .

Kód:

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

Krok 7: Spusťte makro a jaký je výsledek.

Výsledek jsme dostali jako PRAVDA, protože ze dvou logických testů, které jsme poskytli, je jeden test PRAVDA, takže výsledek je PRAVDA.

25 je větší než 20 a 50 není menší než 30. V tomto případě je první logický test TRUE, ale druhý je FALSE. Protože jsme použili funkci VBA OR, potřebuje k získání výsledku jako PRAVDA kteroukoli z podmínek TRUE.

Nyní se podívejte na níže uvedený kód.

Kód:

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

Změnil jsem logické testovací rovnice ze znaménka> a <na rovné (=). Výsledkem bude FALSE, protože 25 se nerovná 20 a 50 se nerovná 30.

Funkce VBA NEBO s podmínkou IF je výkonná

Jak jsem řekl, OR může ve výsledku vrátit buď TRUE, nebo FALSE, ale s další logickou funkcí „IF“ můžeme manipulovat s výsledky podle našich potřeb.

Proveďte stejné logické testy shora, OR vrátil pouze TRUE nebo FALSE, ale pojďme kombinovat toto OR s IF.

Krok 1: Před provedením jakéhokoli testu otevřete funkci IF .

Kód:

Sub OR_Example2 () Dim i jako řetězec IF End Sub

Krok 2: Nyní proveďte testy pomocí funkce OR .

Kód:

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

Step 3: Put the word “Then” and write the result. If the condition is TRUE, assign the value to the variable as “Condition is Satisfied.”

Code:

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

Step 4: If the condition is FALSE, then we need a different result, so put the word “ELSE” and, in the next line, assign the value to the variable “what should be the result if the condition or logical test is FALSE.”

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 Sub

Step 5: End the IF function with the word “End If.”

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 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

Pokud je zaměstnanec z „Finance“ nebo „IT“, měl by dostat bonus jako „5000“. Pro ostatní zaměstnance oddělení je bonus „1 000“.

Proveďte logický test a dosáhněte výsledků.

Zajímavé články...