Prohlášení Excel VBA IF

Příkaz IF v kódu VBA je jedním z nejčastěji používaných, který vám umožní vybrat si. Funkce IF ve VBA se liší ve srovnání s funkcí EXCEL IF, tj. V aplikaci Excel IF funkce nebo vzorec zkontroluje, zda daná podmínka nebo kritéria vyhodnotí TRUE nebo FALSE a vrátí hodnotu na základě vyhodnocení, zatímco příkaz VBA IF provede pouze první polovina příkazu, tj. zkontrolovat, zda se stav vyhodnocuje jako PRAVDA nebo NEPRAVDA, navíc je třeba do příkazu VBA IF zadat příkaz THEN, aby zbývající operace nebo úkol mohl být proveden.

Tři parametry, které je třeba při psaní kódu příkazu VBA IF vzít v úvahu nebo mít na paměti.

  • Podmínka nebo parametr k testování.
  • Operace nebo úkol, který má být proveden, pokud je podmínka PRAVDA.
  • Operace nebo úkol, který má být proveden, pokud je podmínkou FALSE

Je to rozhodovací příkaz, který se používá k provedení bloku kódu.

Provádí úlohu nebo operaci, když je podmínka PRAVDA, jinak nedělá nic nebo neudělá něco jiného. Příkaz if obvykle sestává z booleovského výrazu následovaného příkazy (Může to být jeden nebo více).

Jednoduché složité podmínky lze napsat v příkazu VBA IF.

Níže jsou uvedeny různé typy příkazů VBA IF s jejich syntaxí a příklady.

Typy příkazů IFSyntax
POKUD POTŘEBAIf Then (Statement)

Konec pokud

IF ELSEIf Then (Statement1)

Jiný:

(Prohlášení 2)

Konec pokud

IF ELSEIFIF Potom

(Příkaz 1)

ELSEIF poté

(Prohlášení 2)

Konec If

ELSE A ELSEIF

(Prohlášení ELSEIF musí být na prvním místě, po tomto ELSE)

IF (podmínka 1 je pravdivá) Pak

(Příkaz 1)

ELSEIF (podmínka 2 je pravdivá) Pak

(Prohlášení 2)

JINÝ

(Prohlášení 3)

Konec If

POKUD BEZ ENDIF

(pouze jeden řádkový kód)

Používá se, když se nepoužívá příkaz ELSE nebo ELSE IF

IF (podmínka je true) Then (Statement)

Kromě výše uvedeného příkazu lze použít i příkaz NESTED IF, tj. Příkaz if if nebo ELSEIF uvnitř jiného příkazu if nebo ELSEIF.

Jak používat příkazy IF v aplikaci Excel VBA?

Naučíme se typy a jak používat VBA IF prohlášení s několika příklady v Excelu.

Tuto šablonu Excel VBA IF prohlášení si můžete stáhnout zde - VBA IF prohlášení Excel šablonu
  • Otevřete okno editoru VB. Vyberte nebo klikněte na Visual Basic ve skupině Code na kartě Developer nebo můžete přímo kliknout na klávesovou zkratku Alt + F11 .

  • Tím se dostanete do okna kódování jazyka. Nyní přejděte do nabídky Vložit z okna VBA a vyberte Modul, jak je znázorněno níže.

  • Nyní je vytvořen prázdný modul, který se také nazývá kódové okno, kde můžete začít psát, pokud příkazové kódy.

Příkaz VBA IF THEN - Příklad č. 1

POKUD POTŘEBA je jednoduchá forma prohlášení VBA. Formát pro psaní kódu je:

Pokud pak

Měli byste použít odpovídající příkaz End If po zadání výše uvedené syntaxe , Když podmínka splňuje nebo se kritéria vyhodnotí jako true, pak budou zpracovány všechny řádky mezi If Then a End If .

Když zadáte Sub IF_THEN () jako první zprávu bez uvozovek, můžete pozorovat, Excel automaticky přidá řádek End Sub pod první řádek zprávy, když stisknete Enter. Nyní musí být všechny kódy, které zadáte, mezi těmito dvěma řádky.

Kód:

 Sub IF_THEN () Pokud 3> 2, pak MsgBox "3 je větší než 2" End If End Sub 

Podívejme se na výše uvedený kód, který má jediný řádek příkazu IF, který ověřuje nebo kontroluje hodnotu 3.

Pokud je hodnota „3“ větší než „2“, objeví se vyskakovací zpráva se zprávou, tj. „3 je větší než 2“. Pokud změníte hodnotu z „ 2 “ na „ 5 “ v kódu VBA a spustíte ji, nic se nestane. Protože 3 není větší než 5.

Makro můžete spustit klepnutím na tlačítko Spustit sub nebo stisknutím klávesy F5 . Objeví se vyskakovací okno se zprávou VBA s hlášením „3 je větší než 2“.

Prohlášení VBA IF-THEN-ELSE - Příklad č. 2

V tomto scénáři se příkaz IF & ELSE používá k provedení dvou různých podmínek. Formát nebo syntaxe pro psaní kódu je:

Pokud pak

Prohlášení1

Jiný:

Prohlášení 2

Konec pokud

POKUD spustíte níže uvedený kód, tj. Pokud buňka B4 obsahuje hodnotu 7, zobrazí se okno se zprávou „Buňka B4 má hodnotu 7“ a pokud buňka B4 obsahuje jinou hodnotu než 7, dostanete okno se zprávou „Buňka B4 má jinou hodnotu než 7“.

Zde, na základě hodnoty přítomné v buňce, dochází k odlišnému výsledku (tj. Více než jedné podmínce).

Kód:

 Sub IF_THEN_ELSE () Pokud je Range ("B4"). Hodnota = "7", pak MsgBox "Cell B4 má hodnotu 7" Else MsgBox "Cell B4 má jinou hodnotu než 7" End If End Sub 

Nyní buňka „B4“ obsahuje hodnotu 7, pokud spustím nad kódem, objeví se 1. podmínka.

Předpokládejme, že jsem změnil hodnotu buňky „B4“ ze 7 na 5, jak je ukázáno níže.

Kód:

 Sub IF_THEN_ELSE () If Range ("B4"). Hodnota = "5" Pak MsgBox "Cell B4 má hodnotu 7" Else MsgBox "Cell B4 má jinou hodnotu než 7" End If End Sub 

Pokud tedy přejdu nad kód VBA IF-THEN-ELSE, objeví se druhá podmínka.

IF-THEN-ELSEIF-ELSE - Příklad č. 3

Je to pokročilá forma VBA, pokud je příkaz, formát nebo syntaxe pro napsání kódu

IF (podmínka 1 je pravdivá) Pak

(Příkaz 1)

ELSEIF (podmínka 2 je pravdivá) Pak

(Prohlášení 2)

JINÝ

(Prohlášení 3)

Konec If

Výhodou tohoto kódu je, že ELSE IF lze použít jednotlivě nebo vícekrát (10 nebo 100krát nebo více) podle vašeho požadavku.

Kód:

 Sub IF_THEN_ELSEIF_ELSE () Pokud 5> 8, pak MsgBox "5 je větší než 8" ElseIf 6> 8 Pak MsgBox "6 je větší než 8" ElseIf 7> 8 Pak MsgBox "7 je větší než 8" Else MsgBox "5, 6 nebo 7 je menší než 8 "End If End Sub 

Podívejme se, jak výše uvedený kód funguje, Excel zahájí nebo zpracuje první příkaz, když si všimne, že je nepravdivý, pak se přesune na další. Zde jsou všechny argumenty nebo podmínka ElseIf nepravdivé, proto se bude pohybovat, dokud nebude podmínka pravdivá a nakonec bude výsledek Else zobrazen jako konečný výsledek příkazu IF. tj. MsgBox „5, 6 nebo 7 je menší než 8“, což je pravdivý argument.

Když vyberete a spustíte kód klepnutím na tlačítko Spustit sub nebo stisknutím klávesy F5 . Vyskakovací okno se zprávou VBA se zprávou „5, 6 nebo 7 je menší než 8“, což je pravdivý argument

Nyní můžete tyto kódy maker uložit přejmenováním na VBA_IF_STATEMENT v části Název na kartě Vlastnosti.

Věci na zapamatování

  • Když je použit jeden řádek příkazu IF Then, pak není třeba použít End IF konečně. Když ji ale rozdělíme na více než jeden řádek, musí se použít příkaz End If.
  • V prohlášení VBA, IF-THEN-ELSEIF-ELSE by argumenty ElseIf měly být vždy umístěny před argument Else.

Doporučené články

Toto je průvodce prohlášeními VBA IF. Zde jsme diskutovali o tom, jak používat příkazy IF v Excelu VBA spolu s praktickými příklady a stahovatelnou šablonou Excel. Můžete také projít naše další doporučené články -

  1. Pole VBA v Excelu
  2. Průvodce formátem čísla VBA
  3. Průvodce po vyhledávání VBA
  4. Jak používat VBA Do while Loop?

Kategorie: