Excel VBA IF nyilatkozatok

Az IF utasítás a VBA kódban az egyik leggyakrabban használt, amely lehetővé teszi a választást. Az IF függvény a VBA-ben más, mint az EXCEL IF függvény, azaz az Excel IF függvény vagy formula megvizsgálja, hogy az adott feltétel vagy kritérium igaznak vagy hamisnak minősül-e, majd egy értéket ad vissza az értékelés alapján, míg a VBA IF utasítás csak az első a nyilatkozat felét, azaz ellenőrizze, hogy a feltétel igaz-e vagy hamis-e, emellett a VBA IF-nyilatkozatba be kell írni a fennmaradó művelet vagy elvégzendő feladatot.

Három paraméter, amelyeket figyelembe kell venni vagy szem előtt tartani a VBA IF utasításkód írásakor.

  • Tesztelhető feltétel vagy paraméter.
  • Művelet vagy feladat, amelyet végre kell hajtani, ha az Igaz.
  • Művelet vagy elvégzendő feladat, ha FALSE állapot

Ez egy döntéshozatali nyilatkozat, amelyet a kódblokk végrehajtására használnak.

Feladatot vagy műveletet hajt végre, ha valamelyik állapot igaz, akkor semmit sem csinál, vagy valami mást csinál. Általában az if utasítás egy logikai kifejezésből áll, amelyet utasítások követnek (Lehet, hogy egy vagy több).

A komplex feltételhez egyszerűen a VBA IF nyilatkozatba írható.

Az alábbiakban bemutatjuk a VBA IF utasítások különféle típusait, szintaxisukat és példáikat.

IF nyilatkozat típusaiSzintaxis
HA AKKORHa akkor (Nyilatkozat)

Vége, ha

HA MÁSHa akkor (1. nyilatkozat)

Más:

(Utasítás2)

Vége, ha

HA ELSEIFHA akkor

(Utasítás1)

ELSEIF Akkor

(Utasítás2)

Vége If

ELSE ÉS ELSEIF

(Az ELSEIF nyilatkozatának elsőnek kell lennie, ezt követően az ELSEIF-nek)

IF (az 1. feltétel igaz) Akkor

(Utasítás1)

ELSEIF (a 2. feltétel igaz) Akkor

(Utasítás2)

MÁS

(Utasítás3)

Vége If

HA NEM ENDIF

(csak egysoros kód)

Használják, ha az ELSE vagy az ELSE IF utasítást nem használja

IF (a feltétel igaz) Akkor (nyilatkozat)

A fenti állításon kívül a NESTED IF utasítás is használható, azaz egy if vagy ELSEIF utasítás egy másik if vagy ELSEIF utasításban.

Hogyan kell használni az IF-nyilatkozatokat az Excel VBA-ban?

Megtanuljuk a VBA IF utasítások típusait és használatát, néhány példával az Excelben.

A VBA IF nyilatkozatok Excel sablonját itt töltheti le - VBA IF nyilatkozatok Excel sablonját
  • Nyissa meg a VB szerkesztő ablakot. Válassza ki vagy kattintson a Visual Basic elemre a Kód csoportban a Fejlesztő lapon, vagy közvetlenül kattintson az Alt + F11 gyorsbillentyűre.

  • Ez a Visual Basic kódolási ablakra vezet. Most menjen a Beszúrás menübe a VBA ablakból, és válassza az Alább látható módon modult.

  • Most létrejön az üres modul, amelyet kódablaknak is hívnak, ahol elkezdheti az utasításkódok írását.

VBA, HA MEGNYI NYILATKOZAT - 1. példa

Ha ilyen, akkor a VBA utasítás egyszerű formája. A kód írásának formátuma:

Ha akkor

A fenti szintaxis bevitele után használja a megfelelő End If utasítást , amikor a feltétel teljesül, vagy a kritérium igaznak bizonyul, akkor az If If és az End közötti összes sor feldolgozásra kerül.

Amikor beírja az Sub IF_THEN () üzenetet az első üzenet nélkül idézetekkel, megfigyelheti, az Excel az Enter megnyomásakor automatikusan hozzáadja a Sub Sub sort az első üzenet sor alá. Most minden beírt kódnak e két sor között kell lennie.

Kód:

 Sub IF_THEN () Ha 3> 2, akkor az MsgBox "3 nagyobb, mint 2" End End End 

Nézzük meg a fenti kóddal, amely egyetlen IF utasítású sorral rendelkezik, amely ellenőrzi vagy ellenőrzi a 3. értéket.

Ha a „3” érték nagyobb, mint „2”, akkor felbukkanó üzenet jelenik meg az üzenettel, azaz „3 nagyobb, mint 2”. Ha a VBA kódban az értéket 2- ről 5- re változtatja, és futtatja, akkor semmi sem történik. Mert a 3 nem nagyobb, mint 5.

A makrót a Run Sub gombra kattintva vagy az F5 megnyomásával futtathatja. Megjelenik a VBA üzenetdoboz felbukkanó ablaka, a következő üzenettel: „3 nagyobb, mint 2”

VBA IF-THEN-ELSE nyilatkozat - 2. példa

Ebben a forgatókönyvben az IF & ELSE utasítás két különböző feltétel végrehajtására szolgál. A kód írásának formátuma vagy szintaxisa:

Ha akkor

utasítás1

Más:

utasítás2

Vége, ha

Ha futtat egy alább említett kódot, azaz ha a B4 cella 7 értéket tartalmaz, akkor egy üzenetmezőt kap, amelyen a “B4 cella rendelkezik 7 értékkel”, és ha a B4 cella 7-től eltérő értéket tartalmaz, akkor egy üzenetmező, amelyen fel van tüntetve: „A B4 cella értéke 7-nél nagyobb”

Itt a cellában lévő érték alapján eltérő eredmény fordul elő (azaz egynél több feltétel).

Kód:

 Sub IF_THEN_ELSE () Ha Range ("B4"). Value = "7". Akkor MsgBox "B4 cella értéke 7" Else MsgBox "A B4 cella értéke 7-től eltérő" End If End Sub 

Most a „B4” cella 7. értéket tartalmaz, ha a fenti kód fölé futok, akkor megjelenik az 1. feltétel.

Tegyük fel, hogy a „B4” cella értékét 7-ről 5-re változtattam az alábbiak szerint.

Kód:

 Sub IF_THEN_ELSE () Ha tartomány ("B4"). Érték = "5" Akkor MsgBox "A B4 cella értéke 7" Else MsgBox "A B4 cella értéke 7-től eltérő" End If End Sub 

Tehát ha futok a VBA IF-THEN-ELSE kód felett, akkor megjelenik a második feltétel.

IF-THEN-ELSEIF-ELSE - 3. példa

Ez egy speciális VBA-forma, ha a nyilatkozat, a kódírás formátuma vagy szintaxisa

IF (az 1. feltétel igaz) Akkor

(Utasítás1)

ELSEIF (a 2. feltétel igaz) Akkor

(Utasítás2)

MÁS

(Utasítás3)

Vége If

Ennek a kódnak az az előnye, hogy az ELSE IF egyedileg vagy többször is használható (tíz vagy 100-szor vagy annál több), az Ön igényei szerint.

Kód:

 Sub IF_THEN_ELSEIF_ELSE () Ha 5> 8, akkor az MsgBox "5 nagyobb, mint 8" ElseIf 6> 8 Akkor az MsgBox "6 nagyobb, mint 8" ElseIf 7> 8 Ezután az MsgBox "7 nagyobb, mint 8" Else MsgBox "5, 6 vagy A 7-es érték kisebb, mint 8 " 

Nézzük meg, hogy a fenti kód hogyan működik, az Excel elindítja vagy feldolgozza az első állítást, amikor észreveszi, hogy hamis, akkor a következőre lép. Itt az összes ElseIf argumentum vagy feltétel hamis, tehát addig továbblép, amíg a feltétel valóra nem válik, és az Else argumentum végül megjelenik az IF utasítás végső eredményeként. azaz MsgBox „5, 6 vagy 7 kisebb, mint 8”, ami igaz érv.

Amikor kiválasztja és futtatja a kódot, kattintson a Run Sub gombra vagy az F5 gombra. A VBA üzenet mezője felbukkanó ablaka egy „5, 6 vagy 7 értéknél kevesebb, mint 8” üzenettel jelenik meg, ami igaz érv

Most elmentheti ezeket a makró-kódokat, ha átnevezi VBA_IF_STATEMENT névre a Tulajdonságok fül név részében.

Dolgok, amikre emlékezni kell

  • Ha az IF Then utasítás egyetlen sorát használja, akkor végre nem kell használni az End IF értéket. De ha több sorra osztjuk, akkor a End If utasítást kell használni.
  • A VBA, IF-THEN-ELSEIF-ELSE nyilatkozatban az ElseIf argumentumokat mindig az Else argumentum elé kell helyezni.

Ajánlott cikkek

Ez egy útmutató a VBA IF nyilatkozatokhoz. Itt megvitattuk, hogyan lehet az IF utasításokat használni az Excel VBA-ben, a gyakorlati példákkal és a letölthető Excel sablonnal együtt. Megnézheti más javasolt cikkeinket is -

  1. VBA tömbök Excelben
  2. Útmutató a VBA számformátumhoz
  3. Útmutató a VBA-kereséshez
  4. Hogyan kell használni a VBA Do While Loop funkciót?

Kategória: