Excel VBA IIF funkció
A VBA IIF (azonnali If néven is ismert) egy olyan kijelentés, amelyet gyakran láthatott, amikor VBA alatt kódolt és makrókat készített. Ez hasonló az Excel IF funkciójához, ahol egy logikai feltételt ír le, és két kimenetet ad, ha a feltétel igaz és ha a feltétel hamis. Ha úgy nézi, hogy a VBA IF-hez hasonló funkciónak tekinti, amelyet logikai tesztek és feltételek értékelésére használunk, akkor téved. Úgy tűnik, hogy közel áll a VBA-hez Ha ideális esetben mondhatjuk, hogy valóban kicsi a különbség közöttük a végrehajtás során. Ebben a cikkben további információt szerezünk a VBA IIF nyilatkozatáról és arról, hogyan lehet azt a napi kódolási életben felhasználni, hogy megkönnyítsük feladatainkat.
A VBA IIF utasítás hasonlóan működik, mint az Excel IF utasítás. Ellenőrzi a megadott feltételt vagy logikai nyilatkozatot, és kiadja a TRUE feltétellel társított kimenetet, vagy ha a feltétel FALSE.
Az IIF szintaxisa az Excel VBA-ban
Az VBA IIF függvény szintaxisa az Excelben a következő:
Hol,
- Kifejezés: ez a logikus feltétel, amelyet a IIF függvényben értékelni akartunk
- TruePart: az az érték / output, amelyre számítunk, amikor a logikai feltétel / kifejezés igaz.
- FalsePart: az az érték / output, amelyre számítunk, amikor a logikai feltétel / kifejezés FALSE.
Hogyan kell használni az Excel VBA IIF-et?
Most próbálkozzunk néhány példával az VBA IIF programban Excelben.
Itt letöltheti ezt a VBA IIF Excel sablont - VBA IIF Excel sablonVegyünk egy egyszerű példát, hogy megtudjuk, hogyan működik az IIF a Microsoft VBA alatt.
1. példa - VBA IIF
1. lépés: Nyissa meg a Visual Basic Editor (VBE) szoftvert. Lépjen a Beszúrás fülre és kattintson a Modul elemre. Új modult fog hozzáadni a VBE alá.
2. lépés: Adjon meg egy új alapelvet, amely a makróját ebben a modulban tartja.
Kód:
IIf_Ex1 () alfejezet vége
3. lépés: Adjon meg két új, Var_1 változót hosszúnak és eredménynek, az adattípus mint változat.
Kód:
IIf_Ex1 () dim var_1, amíg tompítva Eredmény, mint logikai vége Sub
4. lépés: Adjon meg numerikus értéket a Var_1-nak, hogy ezt a változót használjuk a logikai IIF feltétel ellenőrzésére.
Kód:
IIf_Ex1 () homályos var_1, amíg tompítva, mint logikai var_1 = 5
5. lépés: Az Eredmény változó segítségével tárolja a logikai IIF feltételt, melyben ellenőrizni fogjuk, hogy a Var_1-hoz rendelt érték nagyobb-e vagy egyenlő-e 10-vel.
Kód:
IIf_Ex1 () homályos var_1, amíg hosszú tomp, mint logikai var_1 = 5 eredmény = IIf (var_1> = 10, igaz, hamis) vége Sub
6. lépés: Most használja a Debug.Print alkalmazást az IIF feltétel eredményének az azonnali eredménymegjelenítő ablaktáblájába történő kinyomtatásához.
Kód:
IIf_Ex1 () halvány var_1, amíg halvány eredmény, mint logikai var_1 = 5 eredmény = IIf (var_1> = 10, igaz, hamis) Debug.Print eredmény vége Sub
7. lépés: Futtassa ezt a kódot az F5 vagy a Futtatás gomb megnyomásával az ablaktábla tetején, és tekintse meg a kimenetet az Azonnali kimeneti ablaktáblában.
2. példa - VBA IIF
Tegyük fel, hogy a munkalap alatt a következő adatok vannak:
Csak azt akarjuk, hogy a B oszlop alatti kimenetet jelenítsen meg, vagy a szám páratlan, vagy páratlan.
1. lépés: Adjon meg új al-eljárást a VBE alatt.
Kód:
Sub IIF_Ex2 () Sub
2. lépés: Adja meg a hosszú két „a” és „szám” változót.
Kód:
Sub IIF_Ex2 () tompítson olyan hosszú tompító számot, mint hosszú vég sub
3. lépés: Indítson el egy For ciklust, amely alatt az A2: A11 cellában lévő összes értéket meg akarja vonni. A hurok 2-től 11-ig kezdődik (mivel az A és B oszlophoz az 1. sorban vannak fejlécek).
Kód:
Sub IIF_Ex2 () tompítson olyan hosszú tompító számot, amíg a = 2–11
4. lépés: Használja a korábban meghatározott számváltozót az A oszlop összes számának tárolására, az adott tartományon belül, a hozzárendelési operátor segítségével (A2: A11). Ehhez használja a következő kódot.
Szám = Lap1.Választás („A” és a)
Kód:
Sub IIF_Ex2 () tompítson olyan hosszú tompító számot, amíg a = 2-től 11-ig szám = lap1.Range ("A" és a) vége Sub
Ez a kódsor lehetővé teszi a VBA számára, hogy az A oszlop minden sorában áthaladjon a „Sheet1” oldalról, külön-külön egyenként a For hurok alatt.
5. lépés: A IIF segítségével ellenőrizze, hogy az egyes cellák értéke páratlan vagy páratlan -, és az eredményeket a B oszlop minden cellájába tárolja. A következő kódkód elvégzi a feladatot az Ön számára.
Sheet1.Range („B” és a) .Value = IIf (Mod Mod 2 = 0, „Even”, „Odd” szám)
Kód:
Sub IIF_Ex2 () tompítsa olyan hosszú, mint hosszú dim, amíg a = 2-től 11-ig szám = Sheet1.Range ("A" és a) Sheet1.Range ("B" és a) .Value = IIf (Mod Mod 2 = 0 szám), "Páros", "Páratlan") End Sub
Ebben a sorban azt szeretnénk, ha az eredményeket az 1. lap B oszlopának minden cellája alatt tárolnánk. Ezért a „Sheet1.Range („ B ”és i) .Value” értéket használtuk a kóddarab bal oldalán. A IIF segítségével ellenőriztük, hogy a szám osztható-e kettővel Mod (Modulo operátor VBA alatt) segítségével. Végül azt szeretnénk kimenetet kapni, hogy a szám páratlan vagy páratlan-e a B oszlopban. Ezért ezt a két értéket megemlítjük az IIF utasításban.
6. lépés: Zárja be a For hurkot a Következő utasítással, hogy minden iteráció után a rendszer a következő cellába irányuljon, amíg el nem éri a 11. sort.
Kód:
Sub IIF_Ex2 () tompítsa olyan hosszú, mint hosszú dim, amíg a = 2-től 11-ig szám = Sheet1.Range ("A" és a) Sheet1.Range ("B" és a) .Value = IIf (Mod Mod 2 = 0 szám), "Páros", "Páratlan") Next End Sub
7. lépés: Ez az. Futtassa ezt a kódot az F5 vagy a VBE legfelső ablaktábláján található Futtatás gomb megnyomásával. Amint elindítja ezt a makrót, látni fogja az Excel munkafüzet 1. lapjának („Példa_1” elnevezésű) alább látható kimenetet.
3. példa - VBA IIF
Most egy beágyazott IIF utasítást fogunk látni:
Ugyanez a módon több IF feltételt fészkelünk egyetlen hurokban.
Tegyük fel, hogy ugyanazokat az adatokat használjuk, mint amelyeket az előző esetben használtunk. Csak azt akartuk, hogy írjunk egy kódot, amely lehetővé teszi számok megkülönböztetését az alábbiak szerint:
- Ha a szám 1 és 3 között van (3 beletartozik), akkor a B. oszlopban fel kell tüntetni a „Kicsi” -t.
- Ha a szám 4 és 6 között van (6 beletartozik), akkor a B. oszlopban fel kell tüntetni a „Közepes” értéket.
- Ha a szám 7 és 10 között van (10 beleszámítva), akkor a B. oszlopban fel kell tüntetni a „Nagy” értéket.
Írjunk egy kódot az ilyen típusú IIF-hez:
1. lépés: Adjon meg egy új alapelvet a VBE alatt, amely képes tartani a makrót.
Kód:
Sub NestedIf () Vége Sub
Kövesse a 2. – 4. Lépést ugyanúgy, mint a fenti példában (a cikk 2. példája). Ez magában foglalja a változók meghatározását és az A oszlopban szereplő összes szám hozzáadását a For hurok alá.
5. lépés: Használja a következő kóddarabot a kívánt kimenet eléréséhez.
Kód:
Sub NestedIf () Az elsötétített szám hosszú, a = 2-től 11-ig szám = Sheet2.Range ("A" és a) Sheet2.Range ("B" & a) .Value = IIf (Number = 7, "Large", " Közepes ")) Befejezés Sub
6. lépés: Zárja be a For ciklust a Következő utasítással és futtassa ezt a kódot az F5 vagy a Futtatás gomb segítségével, amely a felső szalagon található a VBE alatt. A kód futtatása után az alábbiak szerint láthatja a kimenetet:
Ebben a kódban a beágyazott IIF kerül felhasználásra. Az első IIF alatt megkapjuk, hogy mit kell nyomtatni a B oszlop alá, ha a számok 1 és 3 között vannak. A második IIF alatt megemlítettük, hogy mit kell nyomtatni a B oszlopban, ha a számok nagyobb, mint vagy egyenlőek 7-rel, és a Ugyanezt az IIF-et megadtuk, amit ki kell nyomtatni a B oszlop alá, ha a számok nem 1 és 3 és 7 és 10 között vannak.
Ily módon több IIF-et hozzáadhatunk ugyanahhoz a kódhoz, és beágyazhatjuk őket. Ez a cikkből származik. Tegyük rá a dolgot néhány emlékezetes dologra.
Dolgok, amikre emlékezni kell
- Az IIF mindkét részt (IGAZ és HAMIS) mindig egy adott állapotra értékeli. A FALSE részt azonban csak akkor nyomtatja ki, ha semmi sem igaz.
- Az írás rövidebb, mint a standard If-Else utasításoké.
- Nem közismert, ezért előfordulhat, hogy egyes felhasználók nem értik a kódját, ha a hagyományos If-Else helyett IIF-et használtak.
Ajánlott cikkek
Ez egy útmutató a VBA IIF-hez. Itt megvitatjuk az Excel VBA IIF használatát, a gyakorlati példákkal és a letölthető Excel sablonnal együtt. Megnézheti más javasolt cikkeinket -
- Együttműködés a VBA Active Cell-tal
- Sor törlése a VBA-ban
- Hogyan kell használni az Excel VBA átültetést?
- Hogyan javítsuk ki a 1004 hibát a VBA használatával