Funkcja OR VBA (przykłady) - Jak używać operatora logicznego OR w VBA?

Lub jest funkcją logiczną w dowolnym języku programowania i podobną w VBA, mamy funkcję OR, ponieważ jest to funkcja logiczna, w wyniku której wynik podany przez tę funkcję jest albo prawdziwy, albo fałszywy, ta funkcja jest używana razem dla dwóch lub wielu warunków i daje nam prawdziwy wynik, gdy jeden z warunków zostanie zwrócony jako prawdziwy.

Co to jest funkcja OR w VBA?

W programie Excel funkcje logiczne są sercem formuł, których używamy na co dzień. Funkcje logiczne służą do przeprowadzania testu logicznego i dają wynik w postaci danych Boolean, tj. PRAWDA lub FAŁSZ. Niektóre formuły logiczne w programie Excel to „JEŻELI, JEŻELI BŁĄD w programie Excel, CZY.BŁĄD w programie Excel, ORAZ i LUB w funkcji programu Excel”. Mam nadzieję, że często korzystałeś z nich jako funkcji arkusza. Również w VBA możemy korzystać z nich wszystkich, aw tym artykule wyjaśnimy Ci sposoby korzystania z funkcji „VBA OR”.

Jaka jest pierwsza rzecz, która przychodzi Ci do głowy, kiedy myślisz o słowie „LUB”?

Mówiąc najprościej, „LUB” oznacza „to albo tamto”

Z tego samego pomysłu OR jest funkcją logiczną, która daje wynik jako PRAWDA, jeśli którykolwiek z testów logicznych ma wartość PRAWDA i daje wynik FAŁSZ, jeśli żaden z testów logicznych nie jest PRAWDA.

Działa to dokładnie odwrotnie niż funkcja VBA AND. Funkcja AND zwraca PRAWDA tylko wtedy, gdy wszystkie warunki logiczne mają wartość PRAWDA. Jeśli którykolwiek z warunków nie jest spełniony, otrzymamy wynik FAŁSZ.

Formuła funkcji VBA OR

Pozwólcie, że sformułuję składnię, abyście zrozumieli tę funkcję.

(Test logiczny) LUB (Test logiczny) LUB (Test logiczny)

Najpierw musimy wspomnieć, czym jest test logiczny, następnie wspomnieć słowo OR, a następnie wspomnieć, jaki jest drugi test logiczny. Jeśli chcesz przeprowadzić bardziej logiczny test, po wywinięciu testu logicznego wymień słowo OR.

Ze wszystkich testów logicznych, które wykonujesz, jeśli którykolwiek z testów jest spełniony lub prawdziwy, otrzymamy wynik jako PRAWDA, jeśli żaden lub spełniony, wynik jest FAŁSZ.

Przykłady użycia funkcji OR w VBA

Pokażemy Ci prosty przykład użycia funkcji LUB w VBA.

Aby zrozumieć logiczną funkcję VBA LUB podam przykład. Powiedzmy, że chcemy przeprowadzić test logiczny, czy liczba 25 jest większa niż 20 lub liczba 50 jest mniejsza niż 30.

Krok 1: Utwórz nazwę makra.

Krok 2: Zdefiniuj zmienną jako ciąg.

Kod:

Sub OR_Example1 () Dim i As String End Sub

Krok 3: Teraz dla tej zmiennej przypiszemy wartość za pomocą testu logicznego OR.

Kod:

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

Krok 4: Nasz pierwszy test logiczny to 25> 20 .

Kod:

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

Krok 5: Teraz, po pierwszym teście logicznym, wspomnij słowo OR i wprowadź drugi test logiczny.

Kod:

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

Krok 6: Ok, teraz funkcja VBA OR sprawdza, czy testy logiczne są PRAWDA czy FAŁSZ. Teraz przypisz wynik zmiennej do okna komunikatu VBA .

Kod:

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

Krok 7: Uruchom makro i jaki jest wynik.

Otrzymaliśmy wynik jako PRAWDA, ponieważ z dwóch podanych testów logicznych jeden test jest PRAWDA, więc wynik jest PRAWDA.

25 jest większe niż 20, a 50 jest nie mniejsze niż 30. W tym przypadku pierwszy test logiczny to PRAWDA, a drugi to FAŁSZ. Ponieważ zastosowaliśmy funkcję VBA OR, jeden z warunków musi mieć wartość TRUE, aby otrzymać wynik jako TRUE.

Teraz spójrz na poniższy kod.

Kod:

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

Mam zmiany logicznych równań testowych z> i <na znak równości (=). To zwróci jako wynik FAŁSZ, ponieważ 25 nie jest równe 20, a 50 nie jest równe 30.

Funkcja VBA OR z warunkiem IF jest potężna

Jak powiedziałem, OR może w rezultacie zwrócić PRAWDA lub FAŁSZ, ale za pomocą drugiej funkcji logicznej „JEŻELI” możemy manipulować wynikami zgodnie z naszymi potrzebami.

Weź te same testy logiczne z powyższego, LUB zwróciło tylko PRAWDA lub FAŁSZ, ale połączmy to LUB z JEŻELI.

Krok 1: Przed przeprowadzeniem jakiegokolwiek testu otwórz funkcję IF .

Kod:

Sub OR_Example2 () Dim i As String IF End Sub

Krok 2: Teraz przeprowadź testy przy użyciu funkcji LUB .

Kod:

Sub OR_Example2 () Dim i As String IF 25 = 20 lub 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

Jeśli pracownik pochodzi z „finansów” lub „informatyki”, powinien otrzymać premię w wysokości „5000”. W przypadku innych pracowników działu premia wynosi „1000”.

Przeprowadź test logiczny i uzyskaj wyniki.

Interesujące artykuły...