Vyhlásenie Excel VBA IF

Príkaz IF v kóde VBA je jedným z najčastejšie používaných, ktorý vám umožňuje vybrať si. IF funkcia vo VBA je odlišná v porovnaní s funkciou EXCEL IF, tj v Exceli IF funkcia alebo vzorec skontroluje, či daná podmienka alebo kritériá sú vyhodnotené na TRUE alebo FALSE a potom vracia hodnotu na základe vyhodnotenia, zatiaľ čo VBA IF vyhlásenie vykoná iba prvý polovica príkazu, tj skontrolovať, či sa stav vyhodnocuje na hodnotu PRAVDA alebo NEPRAVDA, navyše je potrebné do príkazu VBA IF zadať príkaz THEN, aby sa zostávajúce operácie alebo úlohy mohli vykonať.

Tri parametre, ktoré musíte pri písaní kódu príkazu VBA IF vziať do úvahy alebo mať na pamäti.

  • Podmienka alebo parameter na testovanie.
  • Operácia alebo úloha, ktorá sa má vykonať, ak je stav PRAVÝ.
  • Operácia alebo úloha, ktorá sa má vykonať, ak je podmienkou FALSE

Je to rozhodovací príkaz, ktorý sa používa na vykonanie bloku kódu.

Vykonáva úlohu alebo operáciu, keď je podmienka PRAVDA, inak nerobí nič alebo nerobí nič iné. Príkaz if obyčajne pozostáva z booleovského výrazu, za ktorým nasledujú príkazy (Môže to byť jeden alebo viac).

Jednoduché zložité podmienky možno zapísať do príkazu VBA IF.

Nižšie sú uvedené rôzne typy vyhlásení VBA IF s ich syntaxou a príkladmi.

Typy príkazov IFsyntax
AK POTOMIf Then (Vyhlásenie)

Koniec Ak

AK ELSEIf Then (Statement1)

else:

(Príkaz2)

Koniec Ak

AK ELSEIFIF Potom

(Príkaz1)

ELSEIF potom

(Príkaz2)

Koniec Ak

ELSE A ELSEIF

(Vyhlásenie ELSEIF musí byť na prvom mieste, potom ELSEIF)

IF (podmienka 1 je pravdivá) Potom

(Príkaz1)

ELSEIF (podmienka 2 je pravdivá) Potom

(Príkaz2)

ELSE

(Statement3)

Koniec Ak

AK BEZ KONTROLY

(iba jednoriadkový kód)

Používa sa, keď sa nepoužije vyhlásenie ELSE alebo ELSE IF

IF (podmienka je pravdivá) Potom (vyhlásenie)

Okrem vyššie uvedeného vyhlásenia je možné použiť aj vyhlásenie NESTED IF, tj vyhlásenie if alebo ELSEIF vo vnútri iného príkazu if alebo ELSEIF.

Ako používať výpisy IF v aplikácii Excel VBA?

Naučíme sa typy a ako používať výkazy VBA IF s niekoľkými príkladmi v Exceli.

Túto šablónu VBA IF Vyhlásenia Excel si môžete stiahnuť tu - Šablóna VBA IF Vyhlásenia Excel
  • Otvorte okno editora VB. Vyberte alebo kliknite na Visual Basic v skupine Code na karte Developer alebo môžete kliknúť priamo na klávesovú skratku Alt + F11 .

  • Tým sa dostanete do okna kódovania jazyka Visual Basic. Teraz prejdite do ponuky Vložiť z okna VBA a vyberte modul, ako je to znázornené nižšie.

  • Teraz je vytvorený prázdny modul, ktorý sa tiež nazýva okno s kódom, kde môžete začať písať kódy príkazov.

Vyhlásenie VBA AK POTOM - príklad č. 1

AK THEN je jednoduchá forma vyhlásenia VBA. Formát na napísanie kódu je:

Ak potom

Mali by ste použiť zodpovedajúci príkaz End If po zadaní vyššie uvedenej syntaxe , Keď podmienka spĺňa alebo kritériá sa vyhodnotia ako true, potom sa spracujú všetky riadky medzi If Then a End If .

Keď zadáte Sub IF_THEN () ako prvú správu bez úvodzoviek, môžete si všimnúť, že Excel automaticky pridá riadok End Sub pod prvý riadok správy, keď stlačíte Enter. Teraz musia byť všetky kódy, ktoré zadáte, medzi týmito dvoma riadkami.

kód:

 Sub IF_THEN () Ak 3> 2, potom MsgBox "3 je väčší ako 2" End If End Sub 

Poďme sa pozrieť na vyššie uvedený kód, ktorý má jediný riadok príkazu IF, ktorý overuje alebo kontroluje hodnotu 3.

Ak je hodnota „3“ väčšia ako „2“, zobrazí sa kontextová správa so správou, tj „3 je väčšia ako 2“. Ak zmeníte hodnotu z „ 2 “ na „ 5 “ v kóde VBA a spustíte ju, potom sa nič nestane. Pretože 3 nie je väčšie ako 5.

Makro môžete spustiť kliknutím na tlačidlo Spustiť sub alebo stlačením klávesu F5 . Zobrazí sa kontextové okno so správou VBA s hlásením „3 je väčšie ako 2“.

Vyhlásenie VBA IF-THEN-ELSE - Príklad č. 2

V tomto scenári sa príkaz IF & ELSE používa na vykonanie dvoch rôznych podmienok. Formát alebo syntax na písanie kódu je:

Ak potom

príkaz1

else:

príkaz2

Koniec Ak

Ak spustíte nižšie uvedený kód, tj ak bunka B4 obsahuje hodnotu 7, zobrazí sa okno so správou „Bunka B4 má hodnotu 7“ a ak bunka B4 obsahuje inú hodnotu ako 7, dostanete okno s hlásením „Bunka B4 má inú hodnotu ako 7“.

Tu na základe hodnoty prítomnej v bunke dochádza k rôznym výsledkom (tj viac ako jedna podmienka).

kód:

 Sub IF_THEN_ELSE () Ak je rozsah ("B4"). Hodnota = "7", potom MsgBox "Cell B4 má hodnotu 7" Else MsgBox "Bunka B4 má inú hodnotu ako 7" End, ak End Sub 

Teraz bunka „B4“ obsahuje hodnotu 7, ak spustím nad kód, objaví sa 1. podmienka.

Predpokladajme, že som zmenil hodnotu bunky „B4“ zo 7 na 5, ako je uvedené nižšie.

kód:

 Sub IF_THEN_ELSE () Ak je rozsah ("B4"). Hodnota = "5", potom MsgBox "Cell B4 má hodnotu 7" Else MsgBox "Bunka B4 má inú hodnotu ako 7" End, ak End Sub 

Ak teda bežím nad kódom VBA IF-THEN-ELSE, zobrazí sa druhá podmienka.

IF-THEN-ELSEIF-ELSE - Príklad č. 3

Je to pokročilá forma VBA, ak príkaz, formát alebo syntax na písanie kódu je

IF (podmienka 1 je pravdivá) Potom

(Príkaz1)

ELSEIF (podmienka 2 je pravdivá) Potom

(Príkaz2)

ELSE

(Statement3)

Koniec Ak

Výhodou tohto kódu je, že ELSE IF je možné podľa potreby použiť jednotlivo alebo viackrát (10 alebo 100 krát alebo viac).

kód:

 Sub IF_THEN_ELSEIF_ELSE () Ak 5> 8, potom MsgBox "5 je väčší ako 8" ElseIf 6> 8 Potom MsgBox "6 je väčší ako 8" ElseIf 7> 8, potom MsgBox "7 je väčší ako 8" Else MsgBox "5, 6 alebo 7 je menšia ako 8 "End If End Sub 

Poďme sa pozrieť, ako vyššie uvedený kód funguje, Excel iniciuje alebo spracuje prvý príkaz, keď zistí, že je nepravdivý, potom prejde k nasledujúcemu. Tu sú všetky argumenty alebo podmienky ElseIf nepravdivé, preto sa budú pohybovať dovtedy, kým nebude splnená podmienka a na poslednom výsledku sa argument Else zobrazí ako konečný výsledok príkazu IF. tj MsgBox „5, 6 alebo 7 je menší ako 8“, čo je pravdivý argument.

Keď vyberiete a spustíte kód kliknutím na tlačidlo Spustiť sub alebo stlačením F5 . Pop-up okno správy VBA so správou „5, 6 alebo 7 je menšie ako 8“, čo je pravdivý argument

Teraz môžete uložiť tieto kódy makra premenovaním na VBA_IF_STATEMENT v časti s názvom na karte vlastností.

Čo je potrebné pamätať

  • Keď sa použije jediný riadok príkazu IF Then, potom konečný IF nemusíte používať. Ale keď ju rozdelíme do viacerých riadkov, potom sa musí použiť príkaz End If.
  • Vo vyhlásení VBA, IF-THEN-ELSEIF-ELSE by sa argumenty ElseIf mali vždy uvádzať pred argumenty Else.

Odporúčané články

Toto je sprievodca vyhláseniami VBA IF. Diskutovali sme o tom, ako používať príkazy IF v programe Excel VBA spolu s praktickými príkladmi a šablónou Excel na stiahnutie. Môžete si tiež prečítať naše ďalšie navrhované články -

  1. Polia VBA v Exceli
  2. Sprievodca formátom čísla VBA
  3. Sprievodca vyhľadaním VBA
  4. Ako používať VBA Do while Loop?

Kategórie: