VBA IIF - Hogyan kell használni a VBA IIF funkciót az Excelben? (példákkal)

Tartalomjegyzék

Excel VBA IIF

Ha rendszeresen használja a VBA makrókat, akkor biztosan találkozott az „IIF” nevű funkcióval, különben láthatta ezt a funkciót az interneten. Első látásra biztosan azt gondolta, hogy ez egy IF feltétel, mint például az Excel rendszeres IF-állítása. De ez nem ugyanaz az IF utasítás, amelyet a logikai tesztek kiértékeléséhez és az általunk megadott kritériumok alapján az eredmények eléréséhez használunk. Ebben a cikkben áttekintjük a VBA „VBA IIF” feltételét.

Mit csinál az IIF állapota a VBA-ban?

Ez nagyon hasonlít az IF állapotunkra, de kissé eltérő jellegű. A „VBA IIF” feltétel teszteli a mellékelt kifejezést vagy logikai tesztet, és ennek eredményeként vagy IGAZ, vagy HAMIS.

VBA IIF szintaxis

Vessen egy pillantást az IIF függvény szintaxisára.

  • Kifejezés: Ez nem más, mint a logikai teszt, amelyet szeretnénk elvégezni.
  • Ture rész: Ha a logikai teszt IGAZ, akkor mi legyen az IGAZ rész.
  • Hamis rész: Ha a logikai teszt FALSE, akkor mi legyen a FALSE rész eredménye.

A saját eredményeinket IGAZ és HAMIS részekkel adhatjuk meg. Bár az érvek hasonlóak az IF feltételéhez, ez kissé eltér. Látni fogjuk, hogy az Excel VBA IIF függvény példáiban.

Az egyik legfontosabb különbség a szokásos „IF” és ez az „IIF” között az, hogy a kódot egyetlen sorra redukálhatjuk az Iwherewithwith IF feltételekkel, és ugyanahhoz az eredményhez legalább 5 sorra van szükség.

Példa a VBA IIF funkcióra

Az alábbiakban bemutatjuk a VBA IIF Function in excel példáit.

1. példa - VBA IIF

Ok, meglátjuk az IIF függvény egyszerű példáját. Most azt teszteljük, hogy egy szám nagyobb vagy kevesebb, mint egy másik szám. Kövesse az alábbi lépéseket a VBA kód megírásához.

1. lépés: Indítsa el a makrót.

2. lépés: Határozza meg a változót Stringként a VBA-ban.

Kód:

IIF_Example () Dim FinalResult As String End Sub

3. lépés: Adjon meg még két változót hosszúnak a VBA-ban.

Kód:

II. RészF_Példa () Dim FinalResult, mint karakterlánc gyengéd száma1, mint hosszú tompított szám, 2, hosszú vég

4. lépés: Most a „Number1” változóhoz rendelje a 105 értéket, a „Number2” változóhoz pedig a 100 értéket.

Kód:

II. RészF_Példa () Dim FinalResult as String Dim Number1 As Long Dim Number2 As Long Number1 = 105 Number2 = 100 End Sub

5. lépés: Most az első definiált „FinalResult” változóhoz rendeljük hozzá az IIF függvény eredményét. Nyissuk meg tehát a változó IIF-jét.

6. lépés: Adja meg a kifejezést Szám1> Szám2 néven.

7. lépés: Most, ha a kifejezés IGAZ, mi legyen az eredmény. Az eredményt úgy fogom kijelölni, hogy „Az 1. szám nagyobb, mint a 2. szám”.

8. lépés: Most ha HAMIS a kifejezés, mi legyen az eredmény. Az eredményt úgy fogom kijelölni, hogy „Az 1. szám kisebb, mint a 2. szám”.

Most a változó értéke az alábbiak valamelyike ​​lesz.

Ha igaz: "Az 1. szám nagyobb, mint a 2. szám."

Ha hamis: „Az 1. szám kisebb, mint a 2. szám.”

9. lépés: Mutassuk meg az eredményt egy üzenetmezőben a VBA-ban.

Kód:

IIF_Példa () Dim FinalResult, mint karaktersorozat Dim Number1, olyan hosszú Dim Number2, mint Long Number1 = 105 szám, 2 = 100 FinalResult = IIf (szám1> szám2, "Az 1. szám nagyobb, mint a 2. szám", "Az 1. szám kisebb, mint a 2. szám") MsgBox FinalResult End Sub

Most futtassuk a kódot, és nézzük meg az eredményt.

Mivel az 1. szám értéke 105, ami nagyobb, mint a 2. szám 100-as értéke, az eredményt a következőként kaptuk: „Az 1. szám nagyobb, mint a 2. szám”. Mivel a kifejezés IGAZ, az IIF feltétel ezt az eredményt adta vissza.

2. példa - IF vs. IIF

You must be wondering what the difference between IF & IIF is. Yes, there is a difference in coding. For example, look at the IF condition code.

Code:

Sub IIF_Example() Dim FinalResult As String Dim Number1 As Long Dim Number2 As Long Number1 = 105 Number2 = 100 If Number1> Number2 Then MsgBox "Number 1 is Greater than Number 2" Else MsgBox "Number 1 is Less than Number 2" End If End Sub

Using IF first, we have applied a logical test.

If Number1> Number2 Then

Then if the logical test is true, we have applied the result.

MsgBox "Number 1 is Greater than Number 2"

Then if the logical test is false, we have applied the different results.

MsgBox "Number 1 is Less than Number 2"

Mindkét függvény ugyanazt az eredményt adja, de az IIF használatával csak egyetlen sorba kódolhatunk, ahol az IF utasítás több sort igényel.

3. példa - VBA beágyazott IIF feltétel

Hasonlóan ahhoz, ahogyan a beágyazott IF-t használjuk több feltétel hasonló teszteléséhez, használhatunk több IIF-et is. Vessen egy pillantást az alábbi kódra.

Kód:

IIF_Example2 () Dim FinalResult as String Dim Markks as Long Marks = 98 FinalResult = IIf (Marks> 90, "Dist", IIf (Mark> 80, "First", IIf (Marks> 70, "Second", IIf (Marks) > 60, "Harmadik", "Nem sikerült")))) MsgBox FinalResult End Sub

A fenti IIF feltétel öt logikai tesztet tesztel, és ennek megfelelően adja vissza az eredményt.

érdekes cikkek...