VBA OG Funktion Hvordan bruges OG logisk operatør i VBA?

Excel VBA OG funktion

OG er en logisk funktion såvel som en logisk operator, hvilket betyder, at hvis alle betingelserne i denne funktion er opfyldt, vil vi kun have det sande resultat, mens hvis nogen af ​​betingelsen mislykkes, returneres output til at være falsk, har vi indbygget OG kommando i VBA at bruge.

Jeg håber, du har gennemgået vores artikel om "VBA OR" og "VBA IF OR". Denne funktion er lige det modsatte af ELLER-funktionen. I ELLER-funktionen havde vi brug for nogen af ​​de leverede logiske betingelser for at være opfyldt for at få resultatet som SAND. Men i AND-funktionen er det bare omvendt. For at få resultatet af TRUE skal alle leverede logiske tests i excel være opfyldt.

Ok, se på syntaksen for AND-funktionen i Excel.

[Logisk test] OG [Logisk test] OG [Logisk test]

I ovenstående har jeg to testresultater ud af 600.

I resultatkolonnen skal jeg få resultatet som SAND, hvis scoren for begge test er større end lig med 250.

Se på billedet nedenfor.

Når vi anvender den logiske funktion OG fik vi resultaterne. I celle C4 & C5 fik vi resultatet som SAND, fordi Test 1 & Test 2 score er større end eller lig med 250.

Se på C6-cellen her, vi har FALSK, selvom score på test 2 er lig med 250. Dette skyldes, at i test 1 er score kun 179.

Eksempler til brug af VBA og funktion

Du kan downloade denne VBA OG Excel-skabelon her - VBA OG Excel-skabelon

Eksempel nr. 1

For eksempel vil vi teste tallene her, om 25> = 20 og 30 <= 31.

Trin 1: Erklær variablen som streng.

Kode:

 Sub AND_Example1 () Dim K Som streng End Sub 

Trin 2: For variablen “k” tildeler vi værdien ved at anvende AND-funktionen.

Kode:

 Sub AND_Example1 () Dim K Som streng K = Afslut sub 

Trin 3: Angiv den første betingelse som 25> = 20.

Kode:

 Sub AND_Example1 () Dim K som streng K = 25> = 20 End Sub 

Trin 4: Åbn nu AND-funktionen og lever den anden logiske test, dvs. 30 <= 29.

Kode:

 Sub AND_Example1 () Dim K som streng K = 25> = 20 og 30 <= 29 End Sub 

Trin 5: Vis nu resultatet af variablen “k” i meddelelsesfeltet i VBA.

Kode:

 Sub AND_Example1 () Dim K Som streng K = 25> = 20 og 30 <= 29 MsgBox K End Sub 

Kør makroen for at se, hvad resultatet er.

Vi fik resultatet som FALSK, fordi vi ud af anvendte to betingelser første betingelse 25> = 20, denne betingelse er opfyldt, så resultatet er SAND og anden betingelse 30 <= 29 dette er ikke opfyldt resultatet er FALSK. For at få resultatet som SAND skal begge betingelser være opfyldt.

Eksempel 2

Nu vil jeg ændre den logiske test til “100> 95 OG 100 <200”

Kode:

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

Kør koden for at se resultatet.

Her fik vi SAND som resultat, fordi

1. logisk test: 100> 95 = SAND

2. logisk test: 100 <200 = SAND

Da vi fik de SANDE resultater for begge de logiske tests, blev vores endelige resultat som SAND.

Eksempel 3

Nu ser vi data fra regnearket. Brug de data, vi har brugt til at vise eksemplet på excel AND-funktion.

Her er betingelsen Test 1 Score> = 250 OG Test 2 Score> = 250 .

Da vi har mere end en datacelle, skal vi bruge sløjfer for at undgå at skrive unødvendige og tidskrævende kodelinjer. Jeg har skrevet nedenstående kode til dig, formel, og logisk er det samme, det eneste jeg har brugt “VBA For Next Loop”.

Kode:

 Sub AND_Example3 () Dim k som heltal For k = 2 til 6 celler (k, 3). Værdi = celler (k, 1)> = 250 og celler (k, 2)> = 250 Næste k slut sub 

Dette giver resultatet nøjagtigt det samme som vores regnearkfunktion, men vi får ingen formler, vi får kun resultater.

På denne måde kan vi anvende OG logisk funktion til at teste flere betingelser, som alle skal være SANDE for at nå frem til de ønskede resultater.

Dette fungerer helt modsat OR-funktionen, hvor OR kræver, at en af ​​den leverede tilstand skal være SAND for at nå resultaterne, og OG kræver 100% resultat i en logisk test for at nå resultaterne.