Funkcja VBA LUB

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 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 to serce formuł, których używamy na co dzień. Funkcje logiczne służą do przeprowadzania testów logicznych i dają wynik w postaci danych Boolean, tj. PRAWDA lub FAŁSZ. Niektóre z formuł logicznych 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”?

W prostych słowach „LUB” oznacza „to albo tamto”

Z tym samym pomysłem OR jest funkcją logiczną, która daje wynik jako PRAWDA, jeśli którykolwiek z testów logicznych ma wartość PRAWDA i daje jako 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 są PRAWDZIWE, jeśli którykolwiek z warunków nie jest spełniony, otrzymamy jako 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, a 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 podaj 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 będzie FAŁSZ.

Przykłady użycia funkcji OR w VBA

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

Możesz pobrać ten szablon VBA LUB Excel tutaj - Szablon VBA LUB Excel

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 wymów 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 testów logicznych podaliśmy, że 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 uzyskać 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ń testu 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 zwrócić jako wynik 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 

Krok 3: Wpisz słowo „Następnie” i zapisz wynik, jeśli warunek jest PRAWDZIWY, przypisz wartość zmiennej jako „Warunek jest spełniony” .

Kod:

 Sub OR_Example2 () Dim i As String Jeśli 25 = 20 lub 50 = 30 To i = "Warunek jest spełniony" End Sub 

Krok 4: Jeśli warunek jest NIEPRAWIDŁOWY, potrzebujemy innego wyniku, więc wstaw słowo „ELSE” iw następnym wierszu przypisz wartość zmiennej „jaki powinien być wynik, jeśli warunek lub test logiczny jest FAŁSZ”.

Kod:

 Sub OR_Example2 () Dim i As String Jeśli 25 = 20 lub 50 = 30 Wtedy i = "Warunek jest spełniony" W przeciwnym razie i = "Warunek nie jest spełniony" End Sub 

Krok 5: Zakończ funkcję IF słowem „End If” .

Kod:

 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.