Obsah
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.