Kako koristiti izjavu If Else u VBA? (s primjerima)

Excel VBA IF Else Statement

Na radnom listu nema izjave IF Else i ona se može koristiti samo u VBA kodu, dok tijekom rada u VBA možemo pružiti uvjet koji je izjava uvjeta If i ako je ispunjen određeni skup uputa, izvršava se i uvjet ne uspijeva uputi, tada se izvršava naredba else.

VBA se ne razlikuje kada su u pitanju logički testovi. Djeluje na isti način kao i na uobičajenim radnim listovima. Od svih logičkih funkcija, funkcija „IF“ uglavnom se koristi iz serije. Koristeći IF, možemo provesti logički test i doći do odluka ako je logički test zadovoljen, a također donijeti i alternativne odluke ako logički test nije zadovoljen.

Ispod je sintaksa uvjeta IF Else.

AKO je onda ako je logički test ISTINA ISTA Ako je logički test NETOČNO Kraj IF

Što je izjava VBA AKO JE OSTALO?

Jednom kada je isporučeni logički test FALSE, trebamo neki alternativni zadatak koji ćemo izvršiti kao dio koda. Dakle, „AKO JE OSTALO“ znači ako je logički test FALSE, što još treba učiniti.

Da bismo bolje razumjeli donji primjer, dali smo rezultat kao "10 je veće" samo ako je logički test ISTINA. Ipak, u LAŽNOM logičkom rezultatu možemo dati alternativni rezultat kao „10 je manje“.

Dakle, nakon što se dostave logički testovi i u sljedećem retku napiše TRUE kod dijela, unesite riječ "ELSE"

ELSE znači ako logički test nije TRUE, potreban nam je rezultat jer je "10 manje".

Kodirati:

Sub IF_Else_Example1 () Ako je 10> 11 Tada je MsgBox "10 veći" Inače MsgBox "10 je manji" Kraj ako završi Sub

Sada naš kod daje barem bilo koji od gore navedenih rezultata. Izvršite kod i pogledajte rezultat.

Budući da smo dali alternativni rezultat ako je logički test FALSE, on je alternativni rezultat prikazao kao "10 je manje", jer je 10 manje od drugog broja 11.

Primjer

Na primjer, pogledajte podatke u nastavku.

S tim podacima moramo doći do statusa na temelju "Troška" svakog proizvoda. Za dolazak u status ispod navedeni su kriteriji.

Ako je cijena koštanja> 50, status bi trebao biti " Skupo " ili bi status trebao biti " Nije skupo ".

Ovdje moramo testirati cijenu troška, ​​tj. Logički test je li cijena koštanja> 50 ili ne. Ako je logički test ISTINA, tj. Cijena koštanja je veća od 50, trebamo status "Skupo", a ako je logički test NETOČNO, tj. Cijena koštanja manja od 50, trebamo alternativni rezultat kao "Nije skupo."

Ok, napišimo sada kod. Prije toga kopirajte i zalijepite gornju tablicu u excel radni list.

Korak 1: Pokrenite potpostupak.

Sub IF_ELSE_Example2 () Kraj Sub

Korak 2: Deklarirajte varijablu kao Integer tip podataka.

Dim k As Integer

Korak 3: Budući da moramo testirati više od jedne ćelijske vrijednosti, moramo upotrijebiti FOR VBA LOOP za petlju kroz stanice i primijeniti logiku za sve stanice.

Moramo primijeniti logičke testove iz 2. reda do 8 -og reda, pa početi za petlju od 2 do 8.

Kodirati:

Za k = 2 do 8 Sljedeće k

Korak 4: Unutar ove petlje moramo izvršiti logički test. Dakle, otvorite izraz IF i odaberite prvu ćeliju pomoću svojstva CELLS.

Kodirati:

Ako su stanice (k, 2) .Vrijednost> 50 Tada

Ovdje stanice (k, 2) znače redak (vrijednost k) i stupac 2.

Korak 5: Ako je ova vrijednost ćelije> 50, potreban nam je rezultat kao „Skupo“ u ćeliji sljedećeg stupca. Dakle, kod će biti -

Kodirati:

Ćelije (k, 3) .Value = "Skupo"

Korak 6: Ako test nije ISTINA, trebamo rezultate rezultata ELSE, tj. "Nije skupo".

Kodirati:

Sub IF_ELSE_Example2 () Dim k kao cjelobrojno za k = 2 do 8 Ako su stanice (k, 2) .Vrijednost> 50 Zatim ćelije (k, 3) .Value = "Skupe" Ostale ćelije (k, 3) .Vrijednost = "Nije Skupo "End If Next k End Sub

Ovaj će se kôd petljati od drugog do 8. reda, testira brojeve i dolazi do rezultata na temelju cijene koštanja.

Ovako, možemo koristiti If-Else da dođemo do alternativnih rezultata.

Stvari koje treba zapamtiti

  • Izjava Else služi za LAŽNI logički test.
  • Ako želite primijeniti više od dva logička testa u Excelu, trebamo upotrijebiti izjavu ELSE IF.
  • U slučaju izvršenja zadatka za više od jedne ćelije, trebamo koristiti petlje.
  • Ako izjava Else može testirati samo jedan logički test.

Zanimljivi članci...