VBA OF-functie

Of is een logische functie in een van de programmeertalen en vergelijkbaar in VBA hebben we de OR-functie, omdat het een logische functie is, is het resultaat van deze functie waar of onwaar, deze functie wordt gebruikt voor twee of veel voorwaarden samen en geeft us true resultaat wanneer een van de voorwaarden waar wordt geretourneerd.

Wat is de OF-functie in VBA?

In Excel vormen logische functies het hart van de formules die we dagelijks gebruiken. Logische functies zijn er om de logische test uit te voeren en geven resultaat in Booleaans gegevenstype, dwz WAAR of ONWAAR. Enkele van de logische formules in Excel zijn "ALS, IFFOUT in Excel, ISFOUT in Excel, EN, en OR Excel-functie". Ik hoop dat je ze vrij vaak hebt gebruikt als werkbladfunctie. Ook in VBA kunnen we ze allemaal gebruiken en in dit artikel leggen we je uit hoe je de “VBA OR” -functie kunt gebruiken.

Wat is het eerste dat in je opkomt als je aan het woord "OF" denkt?

In eenvoudige bewoordingen betekent 'OF' 'dit of dat'

Met hetzelfde idee is OR een logische functie die het resultaat TRUE geeft als een van de logische tests WAAR is en ONWAAR als resultaat geeft als geen van de logische tests WAAR is.

Dit werkt precies het tegenovergestelde van de VBA AND-functie. EN-functie retourneert alleen WAAR als alle logische voorwaarden WAAR zijn, als aan een van de voorwaarden niet wordt voldaan, krijgen we FALSE als resultaat.

Formule van VBA OF-functie

Ik zal een syntaxis voor u opstellen om de functie te begrijpen.

[Logische test] OF [Logische test] OF [Logische test]

Eerst moeten we vermelden wat de logische test is, dan het woord OR noemen en vervolgens vermelden wat de tweede logische test is. Als u een meer logische test wilt uitvoeren, noem dan het woord OR na elke logische test.

Van alle logische tests die u doet, als een van de tests tevreden of waar is, krijgen we het resultaat als WAAR als er geen of tevreden is, dan is het resultaat ONWAAR.

Voorbeelden van het gebruik van de OR-functie in VBA

We laten u een eenvoudig voorbeeld zien van het gebruik van de OR-functie in VBA.

U kunt deze VBA OF Excel-sjabloon hier downloaden - VBA OF Excel-sjabloon

Om de logische VBA-functie te begrijpen OF laat me u een voorbeeld geven. Stel dat we de logische test willen uitvoeren of het getal 25 groter is dan 20 of dat getal 50 kleiner is dan 30.

Stap 1: Maak een macronaam.

Stap 2: Definieer de variabele als een string.

Code:

 Sub OR_Example1 () Dim i As String End Sub 

Stap 3: Nu zullen we voor deze variabele de waarde toewijzen via de OF logische test.

Code:

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

Stap 4: Onze eerste logische test is 25> 20 .

Code:

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

Stap 5: Noem nu na de eerste logische test het woord OR en voer de tweede logische test in.

Code:

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

Stap 6: Ok, nu test de VBA OR-functie of de logische tests WAAR of ONWAAR zijn. Wijs nu het resultaat van de variabele toe aan het VBA- berichtvenster .

Code:

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

Stap 7: Voer de macro uit en wat het resultaat is.

We hebben het resultaat als WAAR omdat we van de twee logische tests hebben voorzien dat één test WAAR is, dus het resultaat is WAAR.

25 is groter dan 20 en 50 is niet minder dan 30, in dit geval is de eerste logische test WAAR, maar de tweede is ONWAAR. Omdat we de VBA OR-functie hebben toegepast, moet een van de voorwaarden WAAR zijn om het resultaat als WAAR te krijgen.

Kijk nu naar de onderstaande code.

Code:

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

Ik heb de logische testvergelijkingen gewijzigd van> en <naar gelijk (=) teken. Dit levert FALSE op als resultaat, omdat 25 niet gelijk is aan 20 en 50 niet gelijk is aan 30.

VBA OR-functie met IF-voorwaarde is krachtig

Zoals ik al zei, OR kan als resultaat WAAR of ONWAAR retourneren, maar met de andere logische functie "ALS" kunnen we resultaten manipuleren volgens onze behoeften.

Voer dezelfde logische tests van hierboven uit, OR heeft alleen WAAR of ONWAAR geretourneerd, maar laten we dit OF combineren met ALS.

Stap 1: Open de functie IF voordat u een test uitvoert .

Code:

 Sub OR_Example2 () Dim i As String IF End Sub 

Stap 2: Voer nu tests uit met de OF- functie.

Code:

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

Stap 3: plaats het woord "Dan" en schrijf het resultaat als de voorwaarde WAAR is, wijs de waarde toe aan de variabele als "Aan voorwaarde is voldaan" .

Code:

 Sub OR_Example2 () Dim i As String If 25 = 20 Of 50 = 30 Then i = "Conditie is voldaan" End Sub 

Stap 4: Als de conditie FALSE is, hebben we een ander resultaat nodig, dus zet het woord "ELSE" en wijs in de volgende regel de waarde toe aan de variabele "wat zou het resultaat moeten zijn als de conditie of logische test FALSE is".

Code:

 Sub OR_Example2 () Dim i As String If 25 = 20 Of 50 = 30 Then i = "Conditie is voldaan" Else i = "Conditie is niet voldaan" End Sub 

Stap 5: Beëindig de ALS-functie met het woord "End If" .

Code:

 Sub OR_Example2 () Dim i As String If 25 = 20 Of 50 = 30 Then i = "Conditie is voldaan" Else i = "Conditie is niet voldaan" End If End Sub 

Stap 6: Wijs de waarde van het variabele resultaat toe aan het berichtvenster .

Code:

 Sub OR_Example2 () Dim i As String If 25 = 20 Of 50 = 30 Then i = "Conditie is voldaan" Else i = "Conditie is niet voldaan" End If MsgBox i End Sub 

Voer de macro uit, als de logische test WAAR is, krijgen we het resultaat als "Conditie is voldaan" of anders krijgen we "Conditie is niet voldaan".

We kregen het resultaat als "Conditie is niet tevreden" omdat beide logische tests ONWAAR zijn.

Nu zal ik de logische tests veranderen.

Code:

 Sub OR_Example2 () Dim i As String If 25> 20 Or 50 <30 Then i = "Conditie is voldaan" Else i = "Conditie is niet voldaan" End If MsgBox i End Sub 

Ik zal de macro uitvoeren en kijken wat het resultaat is.

Op deze manier kunnen we een logische functie gebruiken met andere logische functies om tot de resultaten te komen.

Los de onderstaande case study op om aan logische functies te wennen.

Case study om op te lossen

Ik heb werknemersnamen en hun respectievelijke afdelingen.

Als je het hebt geprobeerd en het resultaat niet hebt gevonden, kun je onderstaande code raadplegen om de logica te begrijpen.

Code:

 Sub Bonus_Calculation () Dim i As Long For i = 2 tot 10 If Cellen (i, 2) .Value = "Financiën" Of Cellen (i, 2) .Value = "IT" Dan Cellen (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.