Kako uporabiti izjavo If Else v VBA? (s primeri)

Izjava Excel VBA IF Else

Na delovnem listu ni stavka IF Else in ga je mogoče uporabiti samo v kodi VBA, med delom v VBA pa lahko zagotovimo pogoj, ki je stavek If in če je izpolnjen določen niz navodil, se izvrši in če pogoj ne uspe z navodilom, potem se izvede stavek else.

VBA pri logičnih testih ni drugačen. Deluje enako kot v običajnih delovnih listih. Od vseh logičnih funkcij se funkcija “IF” večinoma uporablja iz sklopa. Z uporabo IF lahko izvedemo logični test in pridemo do odločitev, če je logični test zadovoljen, in tudi do alternativnih odločitev, če logični test ni zadovoljen.

Spodaj je sintaksa pogoja IF Else.

IF Potem Če je logični test TRUE Else Če je logični test FALSE Konec IF

Kaj je izjava VBA, če je drugače?

Ko je priloženi logični test FALSE, potrebujemo neko drugo nalogo, ki jo bomo izvedli kot del kode. "IF ELSE" pomeni, če je logični test FALSE, kaj še je treba storiti.

Da bi bolje razumeli spodnji primer, smo rezultat podali kot »10 je večje« le, če je logični test TRUE. Kljub temu lahko v LAŽNEM logičnem rezultatu ponudimo nadomestni rezultat kot »10 je manj«.

Ko dobite logične teste in v naslednjo vrstico napišete TRUE kodo dela, vnesite besedo »ELSE«.

ELSE pomeni, da če logični test ni TRUE, potrebujemo rezultat, saj je »10 manj«.

Koda:

Sub IF_Else_Example1 () Če je 10> 11, potem je MsgBox "10 večji" Drugače MsgBox "10 je manjši" End If End Sub

Zdaj naša koda daje vsaj katerega koli od zgornjih rezultatov. Izvedite kodo in si oglejte rezultat.

Ker smo podali alternativni rezultat, če je logični test FALSE, je alternativni rezultat prikazal kot »10 je manj«, ker je 10 manj kot drugo število 11.

Primer

Na primer, poglejte spodnje podatke.

S temi podatki moramo priti do stanja na podlagi "stroškov" posameznega izdelka. Spodaj so navedeni kriteriji.

Če je lastna cena> 50, mora biti stanje » drago « ali pa » ni drago «.

Tu moramo preizkusiti stroškovno ceno, tj. Logični test, ali je lastna cena> 50 ali ne. Če je logični test TRUE, tj. Stroškovna cena je večja od 50, potrebujemo status "Draga", in če je logični test FALSE, tj. Stroškovna cena nižja od 50, potrebujemo alternativni rezultat "Ni drag."

Ok, napiši zdaj kodo. Pred tem kopirajte in prilepite zgornjo tabelo na Excelov delovni list.

1. korak: zaženite podproceduro.

Sub IF_ELSE_Example2 () Konec Sub

2. korak: Spremenljivko razglasite za celoštevilčni podatkovni tip.

Dim k kot celo število

3. korak: Ker moramo preizkusiti več vrednosti celic, moramo uporabiti FOR VBA LOOP, da se vrti skozi celice in uporabimo logiko za vse celice.

Moramo uporabljati logične teste od 2. vrsti do 8 th vrstico, tako da začnete zanko od 2 do 8.

Koda:

Za k = 2 do 8 Naslednji k

4. korak: Znotraj te zanke moramo izvesti logični test. Torej odprite stavek IF in s pomočjo lastnosti CELLS izberite prvo celico.

Koda:

Če celice (k, 2) .Vrednost> 50 Potem

Tu celice (k, 2) pomenijo vrstico (vrednost k) in stolpec 2.

5. korak: Če je ta vrednost celice> 50, potrebujemo rezultat kot »drago« v naslednji celici stolpca. Koda bo torej -

Koda:

Celice (k, 3). Vrednost = "Drage"

6. korak: Če test ni TRUE, potrebujemo rezultate stavka ELSE, tj. "Ni drago."

Koda:

Sub IF_ELSE_Example2 () Dim k Kot celo število Za k = 2 do 8 Če so celice (k, 2). Vrednost> 50 Potem celice (k, 3). Vrednost = "Drage" Druge celice (k, 3). Drage "End If Next k End Sub

Ta koda bo zavila od 2. do 8. vrstice in preskusila številke ter prišla do rezultata na podlagi stroškovne cene.

Tako lahko uporabimo If-Else, da pridemo do alternativnih rezultatov.

Stvari, ki si jih je treba zapomniti

  • Stavek Else je namenjen FALSE logičnemu preizkusu.
  • Če želite v Excelu uporabiti več kot dva logična testa, moramo uporabiti stavek ELSE IF.
  • V primeru izvajanja naloge za več celic moramo uporabiti zanke.
  • Če lahko izjava Else preizkusi samo en logični test.

Zanimive Članki...