Ali je logična funkcija v katerem koli programskem jeziku in podobno v VBA imamo funkcijo OR, ker je logična funkcija, rezultat katere je ta funkcija bodisi resnična bodisi neresnična, ta funkcija se uporablja za dva ali več pogojev skupaj in daje nam resničen rezultat, ko je kateri koli od pogojev vrnjen kot resničen.
Kaj je funkcija ALI v VBA?
V Excelu so logične funkcije jedro formul, ki jih uporabljamo vsak dan. Logične funkcije so na voljo za izvajanje logičnega preizkusa in daje rezultat v logičnem podatkovnem tipu, tj. TRUE ali FALSE. Nekatere logične formule v excelu so "IF, IFERROR v excelu, ISERROR v excelu in AND in OR excel funkcija." Upam, da ste jih pogosto uporabljali kot funkcijo delovnega lista. Tudi v VBA jih lahko uporabimo vse, v tem članku pa vam bomo razložili načine uporabe funkcije »VBA ALI«.
Na kaj najprej pomislite, ko pomislite na besedo »ALI«?
Preprosto povedano, "ALI" pomeni "bodisi to bodisi tisto"
Z isto idejo je OR logična funkcija, ki daje rezultat kot TRUE, če je kateri koli od logičnih testov TRUE, in daje FALSE kot rezultat, če noben logični test ni TRUE.
To deluje ravno nasprotno od funkcije VBA IN. Funkcija AND vrne TRUE le, če so vsi logični pogoji TRUE. Če kateri od pogojev ni izpolnjen, bomo posledično dobili LAŽNO.

Formula funkcije VBA ALI
Naj vam sestavim sintakso, da boste razumeli funkcijo.
(Logični test) ALI (Logični test) ALI (Logični test)
Najprej moramo omeniti, kaj je logični test, nato omeniti besedo ALI, nato pa omeniti, kaj je drugi logični test. Če želite izvesti bolj logičen preizkus, potem po izginotju logičnega testa omenite besedo ALI
Če je kateri koli od testov zadovoljiv ali resničen, bomo od vseh logičnih testov dobili rezultat kot TRUE, če ga ni ali je zadovoljen, potem je rezultat FALSE.
Primeri uporabe funkcije OR v VBA
Pokazali vam bomo preprost primer uporabe funkcije OR v VBA.
Za razumevanje logične funkcije VBA ALI naj vam dam primer. Recimo, da želimo izvesti logični test, ali je število 25 večje od 20 ali število 50 manjše od 30.
1. korak: Ustvarite ime makra.
2. korak: Spremenljivko definirajte kot niz.
Koda:
Sub OR_Example1 () Dim i As String End Sub
3. korak: Zdaj bomo tej spremenljivki vrednost dodelili z logičnim testom OR.
Koda:
Sub OR_Example1 () Dim i As String i = End Sub
4. korak: Naš prvi logični test je 25> 20 .
Koda:
Sub OR_Example1 () Dim i As String i = 25> 20 Končni Sub
5. korak: Po prvem logičnem preizkusu omenite besedo ALI in vnesite drugi logični test.
Koda:
Sub OR_Example1 () Dim i As String i = 25> 20 ali 50 <30 End Sub
6. korak: V redu, zdaj funkcija VBA OR preizkuša, ali so logični testi TRUE ali FALSE. Zdaj rezultat spremenljivke dodelite polju za sporočila VBA .
Koda:
Sub OR_Example1 () Dim i As String i = 25> 20 ali 50 <30 MsgBox i End Sub
7. korak: Zaženite makro in kakšen je rezultat.

Rezultat smo dobili kot TRUE, ker je od dveh logičnih testov, ki smo jih zagotovili, en test TRUE, torej je rezultat TRUE.
25 je večje od 20, 50 pa ne manj kot 30. V tem primeru je prvi logični test TRUE, drugi pa FALSE. Ker smo uporabili funkcijo VBA OR, potrebuje enega od pogojev TRUE, da dobimo rezultat kot TRUE.
Zdaj si oglejte spodnjo kodo.
Koda:
Sub OR_Example1 () Dim i As String i = 25 = 20 ali 50 = 30 MsgBox i End Sub
Logične testne enačbe sem spremenil iz> in <v enak (=) predznak. To bo vrnilo FALSE kot rezultat, ker 25 ni enako 20 in 50 ni enako 30.

VBA ALI funkcija z IF pogojem je zmogljiva
Kot sem že povedal, lahko OR vrne bodisi TRUE ali FALSE, ampak z drugo logično funkcijo »IF« lahko z rezultati manipuliramo glede na naše potrebe.
Opravite iste logične teste od zgoraj, ALI je vrnil samo TRUE ali FALSE, vendar združimo to OR z IF.
1. korak: Pred izvedbo kakršnega koli preskusa odprite funkcijo IF .
Koda:
Sub OR_Example2 () Dim i As String IF End Sub
2. korak: Zdaj izvedite teste s funkcijo OR .
Koda:
Sub OR_Example2 () Dim i As String IF 25 = 20 ali 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
Če je zaposleni iz "Finance" ali "IT", bi moral dobiti bonus kot "5000". Za ostale zaposlene v oddelku je bonus "1000".
Izvedite logični test in pridite do rezultatov.
