Excel VBA I funkcija
AND je logična funkcija, kao i logički operator, što znači da ako su svi uvjeti navedeni u ovoj funkciji ispunjeni, samo ćemo mi imati istiniti rezultat, dok ako bilo koji od uvjeta ne uspije, izlaz se vraća u false, ugrađena I naredba u VBA za upotrebu.
Nadam se da ste prošli naš članak o "VBA ILI" i "VBA AKO ILI." Ova je funkcija upravo suprotna funkciji OR. U funkciji OR trebao nam je ispuniti bilo koga od isporučenih logičkih uvjeta da bismo dobili rezultat kao TRUE. Ali u funkciji AND, upravo je obrnuto. Da bi se dobio rezultat TRUE, moraju se zadovoljiti svi isporučeni logički testovi u Excelu.
Ok, pogledajte sintaksu funkcije AND u excelu.
(Logički test) I (Logički test) I (Logički test)

U gore navedenom imam dvije ocjene od 600.
U stupcu rezultata moram dobiti rezultat kao ISTINA ako je rezultat oba testa veći od jednak 250.
Pogledajte donju sliku.

Kada primijenimo logičku funkciju I dobili smo rezultate. U ćelijama C4 i C5 dobili smo rezultat kao ISTINITO jer su rezultati Testa 1 i Testa 2 veći ili jednaki 250.
Pogledajte ovdje ćeliju C6. Dobili smo LAŽNO iako je rezultat testa 2 jednak 250. To je zato što je u testu 1 rezultat samo 179.
Primjeri upotrebe VBA i funkcije
Primjer # 1
Na primjer, ovdje ćemo testirati brojeve, jesu li 25> = 20 i 30 <= 31.
Korak 1: Proglasite varijablu kao String.
Kodirati:
Sub AND_Primjer1 () Dim K kao kraj niza Sub

Korak 2: Za varijablu "k" dodijelit ćemo vrijednost primjenom funkcije AND.
Kodirati:
Sub AND_Primjer1 () Dim K Kao niz K = Kraj Sub

Korak 3: Navedite prvi uvjet kao 25> = 20.
Kodirati:
Sub AND_Primjer1 () Dim K Kao niz K = 25> = 20 Kraj Sub

Korak 4: Sada otvorite funkciju AND i isporučite drugi logički test, tj. 30 <= 29.
Kodirati:
Sub AND_Primjer1 () Dim K Kao niz K = 25> = 20 I 30 <= 29 Kraj Sub

Korak 5: Sada pokažite rezultat varijable "k" u okviru za poruke u VBA.
Kodirati:
Sub AND_Primjer1 () Dim K Kao niz K = 25> = 20 I 30 <= 29 MsgBox K Kraj Sub

Pokrenite makronaredbu da vidite kakav je rezultat.

Rezultat smo dobili NETOČNO jer smo od primijenjena dva uvjeta, prvi uvjet 25> = 20, ovaj uvjet zadovoljen, pa je rezultat ISTINA, a drugi uvjet 30 <= 29 to nije zadovoljan rezultat je FALSE. Da bi se rezultat dobio ISTINIT, moraju biti zadovoljena oba uvjeta.
Primjer # 2
Sada ću promijeniti logički test u "100> 95 I 100 <200."
Kodirati:
Pod AND_Primjer2 () Dim k kao niz k = 100> 95 I 100 <200 MsgBox k Kraj pod
Pokrenite kôd da biste vidjeli rezultat.

Ovdje smo kao rezultat dobili ISTINU jer
1 st Logički Test: 100> 95 = TRUE
2 nd Logički Test: 100 <200 = TRUE
Budući da smo za oba logička testa dobili TRUE rezultate, naš konačni rezultat je TRUE.
Primjer # 3
Sad ćemo vidjeti podatke s radnog lista. Upotrijebite podatke koje smo koristili za prikaz primjera funkcije excel I.

Ovdje je uvjet ocjena 1 testa> = 250 I ocjena 2 testa> = 250 .
Budući da imamo više od jedne ćelije podataka, trebamo koristiti petlje kako bismo izbjegli pisanje nepotrebnih i dugotrajnih redova kodova. Napisao sam donji kod za vas; formula i logika su isto, jedino što sam koristio "VBA za sljedeću petlju."
Kodirati:
Sub AND_Primjer3 () Dim k kao cjelobrojno za k = 2 do 6 ćelija (k, 3) .Vrijednost = stanice (k, 1)> = 250 i stanice (k, 2)> = 250 Sljedeće k Kraj Sub
To će dati rezultat potpuno isti kao i naša funkcija radnog lista, ali nećemo dobiti nikakve formule. Dobivamo samo rezultate.

Na ovaj način možemo primijeniti logičku funkciju AND za testiranje više uvjeta, a svi bi trebali biti ISTINA da bi se došlo do željenih rezultata.
Ovo radi potpuno suprotno od funkcije OR, gdje OR zahtijeva da bilo koji od ponuđenih uvjeta bude ISTINA da bi se dobili rezultati, ali I zahtijeva 100% rezultat u logičkom testu da bi se dobili rezultati.