VBA IIF - Jak používat funkci VBA IIF v aplikaci Excel? (s příklady)

Excel VBA IIF

Pokud jste běžným uživatelem maker VBA, musíte se setkat s funkcí nazvanou „IIF“, nebo jste tuto funkci mohli vidět na internetu. Na první pohled jste si určitě mysleli, že jde o podmínku IF, jako je náš běžný příkaz IF v aplikaci Excel. Ale nejde o stejný příkaz IF, který používáme k vyhodnocení logických testů a dosažení výsledků na základě kritérií, která dáme. V tomto článku vás provedeme podmínkou „VBA IIF“ ve VBA.

Co dělá podmínka IIF ve VBA?

To je velmi podobné našemu stavu IF, ale mírně odlišné povahy. Podmínka „VBA IIF“ testuje dodaný výraz nebo logický test a jako výsledek vrátila hodnotu TRUE nebo FALSE.

Syntaxe VBA IIF

Podívejte se na syntaxi funkce IIF.

  • Výraz: Toto není nic jiného než logický test, který bychom chtěli provést.
  • Turecká část: Pokud je logický test PRAVDA, co by měla být PRAVDA?
  • Falešná část: Pokud je logický test FALSE, co by mělo být výsledkem FALSE části.

Můžeme zadat své vlastní výsledky s PRAVDIVOU a NEPRAVDOU částí. Ačkoli argumenty vypadají podobně jako argumenty podmínky IF, bude to trochu jiné. Uvidíme, že v příkladech funkce Excel VBA IIF.

Jedním z klíčových rozdílů mezi běžným „IF“ a tímto „IIF“ je, že můžeme kód zredukovat na jeden řádek s podmínkou Iwherewithwith IF a dosažení stejného výsledku trvá minimálně 5 řádků.

Příklad funkce VBA IIF

Níže jsou uvedeny příklady funkce VBA IIF v aplikaci Excel.

Příklad č. 1 - VBA IIF

Dobře, uvidíme jeden jednoduchý příklad funkce IIF. Nyní otestujeme, zda je jedno číslo větší nebo menší než jiné číslo. Při psaní kódu VBA postupujte podle následujících kroků.

Krok 1: Spusťte makro.

Krok 2: Definujte proměnnou jako řetězec ve VBA.

Kód:

Sub IIF_Example () Dim FinalResult jako řetězec End Sub

Krok 3: Definujte ve VBA další dvě proměnné jako Long.

Kód:

Sub IIF_Example () Dim DimResult Jako řetězec Dim Dim Number1 As Long Dim Number2 As Long End Sub

Krok 4: Nyní přiřaďte proměnné „Number1“ hodnotu 105 a proměnné „Number2“ hodnotu 100.

Kód:

Sub IIF_Example () Dim FinalResult jako String Dim Number1 As Long Dim Number2 As Long Number1 = 105 Number2 = 100 End Sub

Krok 5: Nyní k první definované proměnné „FinalResult“ přiřadíme výsledek funkce IIF. Takže otevřete IIF pro proměnnou.

Krok 6: Zadejte výraz jako Number1> Number2.

Krok 7: Nyní, pokud je výraz TRUE, jaký by měl být výsledek. Výsledek přiřadím jako „Číslo 1 je větší než číslo 2“.

Krok 8: Nyní, pokud je výraz NEPRAVDA, jaký by měl být výsledek. Výsledek přiřadím jako „Číslo 1 je menší než číslo 2“.

Nyní bude hodnota proměnné jedna z níže uvedených.

Je-li pravda: „Číslo 1 je větší než číslo 2.“

If False: „Number 1 is less than Number 2.“

Krok 9: Ukažme výsledek ve schránce zpráv ve VBA.

Kód:

Sub IIF_Example () Dim DimResult Jako řetězec Dim Dim Number1 Jak Long Dim Number2 As Long Number1 = 105 Number2 = 100 FinalResult = IIf (Number1> Number2, "Number 1 is Greater than Number 2", "Number 1 is less than Number 2") MsgBox FinalResult End Sub

Nyní spustíme kód a uvidíme výsledek.

Protože hodnota číslo 1 je 105, což je větší hodnota než číslo 2 100, dostali jsme výsledek jako „číslo 1 je větší než číslo 2“. Vzhledem k tomu, že výraz má hodnotu PRAVDA, vrátila tento výsledek podmínka IIF.

Příklad č. 2 - 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"

Obě funkce vracejí stejný výsledek, ale s IIF můžeme kódovat pouze na jednom řádku, kde příkaz IF vyžaduje více řádků.

Příklad # 3 - VBA vnořený stav IIF

Stejně jako používáme vnořené IF k testování více podmínek podobně, můžeme použít i více IIF. Podívejte se na níže uvedený kód.

Kód:

Sub IIF_Example2 () Dim FinalResult As String Dim Marks Long Marks = 98 FinalResult = IIf (Marks> 90, "Dist", IIf (Marks> 80, "First", IIf (Marks> 70, "Second", IIf (Marks > 60, „Third“, „Fail“)))) MsgBox FinalResult End Sub

Výše uvedená podmínka IIF testuje pět logických testů a odpovídajícím způsobem vrací výsledek.

Zajímavé články...