VBA EN Functie

Excel VBA EN functie

AND is zowel een logische functie als een logische operator, wat betekent dat als aan alle voorwaarden in deze functie is voldaan, alleen we het ware resultaat hebben, terwijl als een van de voorwaarden faalt, de uitvoer wordt geretourneerd als onwaar, we hebben ingebouwde EN-opdracht in VBA om te gebruiken.

Ik hoop dat je ons artikel over "VBA OR" en "VBA IF OR" hebt doorgenomen. Deze functie is precies het tegenovergestelde van de OF-functie. In de OF-functie moesten we aan een van de opgegeven logische voorwaarden voldoen om het resultaat als WAAR te krijgen. Maar in de EN-functie is het precies omgekeerd. Om het resultaat van TRUE te krijgen, moet aan alle geleverde logische tests in Excel zijn voldaan.

Oké, kijk naar de syntaxis van de EN-functie in Excel.

[Logische test] EN [Logische test] EN [Logische test]

In het bovenstaande heb ik twee testscores van de 600.

In de resultaatkolom moet ik het resultaat als WAAR krijgen als de score van beide tests groter is dan gelijk aan 250.

Kijk naar de onderstaande afbeelding.

Wanneer we de logische functie toepassen EN kregen we de resultaten. In cel C4 en C5 hebben we het resultaat als WAAR omdat de scores van Test 1 en Test 2 groter zijn dan of gelijk zijn aan 250.

Kijk naar de C6-cel hier, we hebben FALSE, hoewel de score van Test 2 gelijk is aan 250. Dit komt omdat de score in Test 1 slechts 179 is.

Voorbeelden om VBA en functie te gebruiken

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

Voorbeeld 1

We zullen hier bijvoorbeeld de getallen testen, of 25> = 20 en 30 <= 31.

Stap 1: Declareer de variabele als String.

Code:

 Sub AND_Example1 () Dim K As String End Sub 

Stap 2: Voor de variabele “k” zullen we de waarde toekennen door de AND-functie toe te passen.

Code:

 Sub AND_Example1 () Dim K As String K = End Sub 

Stap 3: Geef de eerste voorwaarde op als 25> = 20.

Code:

 Sub AND_Example1 () Dim K As String K = 25> = 20 End Sub 

Stap 4: Open nu de EN-functie en geef de tweede logische test, dwz 30 <= 29.

Code:

 Sub AND_Example1 () Dim K As String K = 25> = 20 And 30 <= 29 End Sub 

Stap 5: Toon nu het resultaat van de variabele "k" in het berichtvenster in VBA.

Code:

 Sub AND_Example1 () Dim K As String K = 25> = 20 And 30 <= 29 MsgBox K End Sub 

Voer de macro uit om te zien wat het resultaat is.

We hebben het resultaat als ONWAAR omdat we van de twee toegepaste voorwaarden de eerste voorwaarde 25> = 20 hebben toegepast, aan deze voorwaarde is voldaan, dus het resultaat is WAAR en de tweede voorwaarde 30 <= 29 waaraan niet is voldaan, het resultaat is ONWAAR. Om het resultaat als WAAR te krijgen, moet aan beide voorwaarden worden voldaan.

Voorbeeld # 2

Nu zal ik de logische test wijzigen in '100> 95 EN 100 <200'

Code:

 Sub AND_Example2 () Dim k As String k = 100> 95 And 100 <200 MsgBox k End Sub 

Voer de code uit om het resultaat te zien.

Hier kregen we WAAR als resultaat omdat

1e logische test: 100> 95 = WAAR

2e logische test: 100 <200 = WAAR

Aangezien we de TRUE-resultaten voor beide logische tests hebben gekregen, is ons eindresultaat TRUE.

Voorbeeld # 3

Nu zullen we gegevens uit het werkblad zien. Gebruik de gegevens die we hebben gebruikt om het voorbeeld van Excel EN-functie te laten zien.

Hier is de voorwaarde Test 1 Score> = 250 EN Test 2 Score> = 250 .

Omdat we meer dan één cel met gegevens hebben, moeten we lussen gebruiken om het schrijven van onnodige en tijdrovende coderegels te vermijden. Ik heb de onderstaande code voor je geschreven, formule, en logisch is hetzelfde, het enige is dat ik "VBA For Next Loop" heb gebruikt.

Code:

 Sub AND_Example3 () Dim k As Integer For k = 2 to 6 Cells (k, 3). Value = Cells (k, 1)> = 250 And Cells (k, 2)> = 250 Next k End Sub 

Dit geeft het resultaat exact hetzelfde als onze werkbladfunctie, maar we krijgen geen formules, we krijgen alleen resultaten.

Op deze manier kunnen we de EN logische functie toepassen om meerdere condities te testen die allemaal WAAR moeten zijn om tot de gewenste resultaten te komen.

Dit werkt volledig tegengesteld aan de OR-functie, waarbij OR vereist dat een van de opgegeven voorwaarden WAAR is om tot de resultaten te komen, maar AND vereist een resultaat van 100% in een logische test om tot de resultaten te komen.