Příkazy VBA If - Then - Else v aplikaci Excel (4 příklady)

  • Sdílet Toto
Hugh West

Podmíněné příkazy se v programovacích jazycích používají k provedení sady akcí v závislosti na zadané podmínce. V tomto článku si ukážeme, co je to podmíněný příkaz. Jestliže - Pak - Jinak podmíněný příkaz v VBA Excel je a jak ho používat.

Stáhnout pracovní sešit

Bezplatný cvičný sešit aplikace Excel si můžete stáhnout zde.

If-Then-Else ve VBA.xlsm

Úvod do příkazů If - Then - Else ve VBA

VBA If - Then - Else Podmíněný příkaz slouží především k rozhodování o průběhu provádění podmínek. Pokud je podmínka pravdivá, provede se určitá sada akcí, a pokud je podmínka nepravdivá, provede se jiná sada akcí.

  • Syntaxe
 If podmínka Then [příkazy] [Else else_statements] 

Nebo,

 If podmínka Then [příkazy] [Else [else_statements]] End If 

Zde,

Argument Povinné/nepovinné Popis
stav Požadované Číselný výraz nebo řetězcový výraz, který vyhodnotí, zda je výraz Pravda nebo False . Pokud stav je Null, považuje se za False .
prohlášení Volitelně Jednořádkový formulář, který nemá Jinak Jeden nebo více příkazů musí být odděleny dvojtečkou. Pokud je stav je Pravda , pak se provede tento příkaz.
else_statements Volitelně Provede se jeden nebo více příkazů, pokud se neprovede žádný předchozí stav je Pravda .

4 příklady použití příkazů VBA If - Then - Else v aplikaci Excel

V této části se dozvíte, jak používat If-Then-Else na adrese VBA kód se 4 příklady.

1. Najděte největší číslo mezi dvěma čísly pomocí příkazu If - Then - Else

Pokud máte dvě čísla a chcete zjistit, které z nich je větší (nebo menší), můžete použít příkaz If-Then-Else prohlášení v VBA .

Kroky:

  • Tisk Alt + F11 na klávesnici nebo přejděte na kartu Vývojář -> Visual Basic otevřít Editor jazyka Visual Basic .

  • Ve vyskakovacím okně kódu klikněte na panelu nabídek na možnost Insert -> Modul .

  • Zkopírujte následující kód a vložte jej do okna kódu.
 Private Sub BiggestNumber() Dim Num1 As Integer Dim Num2 As Integer Num1 = 12345 Num2 = 12335 If Num1> Num2 Then MsgBox "1. číslo je větší než 2. číslo" ElseIf Num2> Num1 Then MsgBox "2. číslo je větší než 1. číslo" Else MsgBox "1. číslo a 2. číslo se rovnají" End If End Sub 

Váš kód je nyní připraven ke spuštění.

Zde porovnáváme dvě čísla 12345 a 12335 , abychom zjistili, které z nich je větší. Tento postup je obvykle ideální pro hledání velkých čísel ve velkém souboru dat.

  • Tisk F5 na klávesnici nebo na panelu nabídek vyberte možnost Run -> Run Sub/UserForm . Můžete také kliknout na malá ikona Play na panelu podnabídek spustíte makro.

Výsledek se zobrazí v aplikaci Excel MsgBox

V našem případě je počet 12345 - uložené v proměnné Num1 - je větší než číslo 12335 , Num2 . Takže MsgBox nám ukazuje, že První číslo je větší než druhé číslo .

Další informace: Vzorec aplikace Excel pro generování náhodného čísla (5 příkladů)

2. Kontrola výsledku studenta pomocí příkazu If - Then - Else ve VBA

Pomocí tohoto příkazu můžete zkontrolovat, zda student u zkoušky uspěl nebo neuspěl. VBA kód.

Kroky:

  • Stejným způsobem jako dříve, otevřete Editor jazyka Visual Basic z Vývojář karta a Vložte a Modul v okně kódu.
  • V okně kódu zkopírujte a vložte následující kód.
 Sub CheckResult() If Range("D5").Value> 33 Then MsgBox "John's Result is Pass" Else MsgBox "John's Result is Fail" End If End Sub 

Váš kód je nyní připraven ke spuštění.

Tento kód zkontroluje, zda buňka D5 má hodnotu větší než 33 Pokud ano, zobrazí se jeden výstup, pokud ne, zobrazí se něco jiného.

  • Spustit makro a získáte výsledek podle vašeho kódu.

Podívejte se na výše uvedený soubor dat s výsledkem, buňka D5 drží 95 což je rozhodně více než 33 , proto se zobrazuje Výsledek je vyhověl Pokud však spustíme kód pro buňku D7 (22), pak by se zobrazil jinak.

Přečtěte si více: Jak používat příkazy případů VBA (13 příkladů)

Podobná čtení

  • Jak používat funkci Log v Excelu VBA (5 vhodných příkladů)
  • Použití funkce VBA LTrim v aplikaci Excel (4 příklady)
  • Jak používat funkci VBA FileDateTime v aplikaci Excel (3 použití)
  • Použití operátoru Mod VBA (9 příkladů)
  • Funkce VBA EXP v aplikaci Excel (5 příkladů)

3. Aktualizace komentářů v hodnocení žáka pomocí vícenásobného příkazu If - Then - Else ve VBA

Naučili jste se, jak zjistit, zda student prošel, nebo ne, pomocí jediného If-Then-Else ale tentokrát se dozvíte o Vícenásobné If-Then-Else příkazy s následujícím příkladem.

Provedeme VBA kód pro vyplnění těchto Komentář: na základě více podmínek.

Kroky:

  • Stejný způsob jako dříve, otevřít Editor jazyka Visual Basic z Vývojář karta a Vložte a Modul v okně kódu.
  • V okně kódu zkopírujte a vložte následující kód.
 Sub UpdateComment() For Each grade In Range("D5:D10") If grade = "A" Then grade.Offset(0, 1).Value = "Skvělá práce" ElseIf grade = "B" Then grade.Offset(0, 1).Value = "Pokračuj" ElseIf grade = "C" Then grade.Offset(0, 1).Value = "Potřebuje zlepšit" Else grade.Offset(0, 1).Value = "Schůzka rodičů s učitelem" End If Next grade EndSub 

Váš kód je nyní připraven ke spuštění.

Tento kód vypíše komentáře podle známek, kterých studenti dosáhli.

  • Spustit tento kód a uvidíte následující obrázek, kde jsou políčka pro komentáře vyplněna příslušnými výsledky.

4. Příkaz If-Then-Else k aktualizaci kardinálních směrů na základě kódu v aplikaci Excel

Můžete také využít If-Then-Else zjistit světové strany na základě uvedeného kódu ukazatele. Podívejte se na následující obrázek, kde zjistíme směry na základě uvedených iniciál.

Kroky:

  • Otevřít Editor jazyka Visual Basic z Vývojář karta a Vložte a Modul v okně kódu.
  • V okně kódu zkopírujte a vložte následující kód.
 Sub UpdateDir() For Each iDirection In Range("B5:B8") If iDirection = "N" Then iDirection.Offset(0, 1).Value = "North" ElseIf iDirection = "S" Then iDirection.Offset(0, 1).Value = "South" ElseIf iDirection = "E" Then iDirection.Offset(0, 1).Value = "East" Else iDirection.Offset(0, 1).Value = "West" End If Next iDirection EndSub 

Váš kód je nyní připraven ke spuštění.

  • Spustit tento kód a v příslušných buňkách se zobrazí názvy směrů.

Pokud chcete najít pouze jeden směr na základě kódu, můžete použít níže uvedený kód.

 Sub UpdateDirections() Dim iDirection As String Dim iDirectionName As String iDirection = Range("B5").Value If iDirection = "N" Then iDirectionName = "North" ElseIf iDirection = "S" Then iDirectionName = "South" ElseIf iDirection = "E" Then iDirectionName = "East" Else iDirectionName = "West" End If Range("C5").Value = iDirectionName End Sub 

Tento kód převezme hodnotu z buňky B5 a podle toho vrátí výsledek v buňce C5 .

Pokud například napíšete " N " v časopise Cell B5 , poskytne vám " Severní ; pokud napíšete " S " v časopise Cell B5 , zobrazí se vám " Jižní " v časopise Cell C5 .

Závěr

Tento článek vám ukázal, jak používat Jestliže - Pak - Jinak příkaz v aplikaci Excel s VBA . doufám, že pro vás byl tento článek velmi přínosný. Neváhejte se zeptat, pokud máte k tématu nějaké dotazy.

Hugh West je velmi zkušený školitel a analytik Excelu s více než 10 lety zkušeností v oboru. Má bakalářský titul v oboru Účetnictví a finance a magisterský titul v oboru Business Administration. Hugh má vášeň pro výuku a vyvinul jedinečný přístup k výuce, který lze snadno sledovat a pochopit. Jeho odborné znalosti Excelu pomohly tisícům studentů a profesionálů po celém světě zlepšit své dovednosti a vyniknout ve své kariéře. Prostřednictvím svého blogu Hugh sdílí své znalosti se světem a nabízí bezplatné výukové programy Excelu a online školení, které jednotlivcům a firmám pomohou dosáhnout jejich plného potenciálu.