Obsah
Podmienené príkazy sa v programovacích jazykoch používajú na vykonanie súboru akcií v závislosti od zadanej podmienky. V tomto článku si ukážeme, čo je to Ak - potom - inak podmienený príkaz v VBA Excel je a ako ho používať.
Stiahnite si pracovný zošit
Bezplatný cvičný zošit Excel si môžete stiahnuť odtiaľto.
If-Then-Else vo VBA.xlsm
Úvod do príkazu If - Then - Else v jazyku VBA
VBA If - Then - Else Podmienkový príkaz sa používa najmä na rozhodovanie o priebehu vykonávania podmienok. Ak je podmienka pravdivá, vykoná sa určitá množina akcií a ak je podmienka nepravdivá, vykoná sa iná množina akcií.
- Syntax
Ak podmienka Potom [výroky] [Inak else_výroky]
Alebo,
If podmienka Then [výroky] [Else [else_statements]] End If
Tu,
Argument | Povinné/ voliteľné | Popis |
---|---|---|
stav | Požadované | Číselný výraz alebo reťazcový výraz, ktorý vyhodnocuje, či je výraz Pravda alebo False . Ak stav je Null, považuje sa za False . |
vyhlásenia | Voliteľné | Jednoriadkový formulár, ktorý nemá Inak Jeden alebo viacero príkazov musí byť oddelených dvojbodkou. stav je . Pravda , potom sa vykoná tento príkaz. |
else_statements | Voliteľné | Vykoná sa jeden alebo viac príkazov, ak sa nevykoná žiadny predchádzajúci stav je . Pravda . |
4 príklady použitia príkazu VBA If - Then - Else v programe Excel
V tejto časti sa dozviete, ako používať If-Then-Else na stránke VBA kód so 4 príkladmi.
1. Nájdite najväčšie číslo medzi dvoma číslami pomocou príkazu If - Then - Else
Ak máte dve čísla a chcete zistiť, ktoré z nich je väčšie (alebo menšie), môžete použiť If-Then-Else vyhlásenie v VBA .
Kroky:
- Tlač Alt + F11 na klávesnici alebo prejdite na kartu Vývojár -> Visual Basic otvoriť Editor jazyka Visual Basic .
- Vo vyskakovacom okne kódu kliknite na paneli ponúk na položku Vložiť -> Modul .
- Skopírujte nasledujúci kód a vložte ho 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äčšie ako 2. číslo" ElseIf Num2> Num1 Then MsgBox "2. číslo je väčšie ako 1. číslo" Else MsgBox "1. číslo a 2. číslo sú rovnaké" End If End Sub
Váš kód je teraz pripravený na spustenie.
Tu porovnávame dve čísla 12345 a 12335 , aby sme zistili, ktoré z nich je väčšie. Tento postup je zvyčajne ideálny na hľadanie veľkých čísel vo veľkom súbore údajov.
- Tlač F5 na klávesnici alebo na paneli ponúk vyberte Run -> Run Sub/UserForm Môžete tiež jednoducho kliknúť na malá ikona Play na paneli podmenu, aby ste makro spustili.
Výsledok sa zobrazí v aplikácii Excel MsgBox
V našom prípade počet 12345 - uložené v premennej Num1 - je väčšia ako číslo 12335 , Num2 . Takže MsgBox nám ukazuje, že Prvé číslo je väčšie ako druhé číslo .
Prečítajte si viac: Vzorec programu Excel na generovanie náhodného čísla (5 príkladov)
2. Kontrola výsledku študenta pomocou príkazu If - Then - Else vo VBA
Pomocou tohto príkazu môžete skontrolovať, či študent skúšku úspešne alebo neúspešne vykonal. VBA kód.
Kroky:
- Rovnaký spôsob ako predtým, otvoriť Editor jazyka Visual Basic z Vývojár karta a Vložte a Modul v okne kódu.
- V okne kódu skopírujte nasledujúci kód a vložte ho.
Sub CheckResult() If Range("D5").Value> 33 Then MsgBox "Johnov výsledok je vyhovujúci" Else MsgBox "Johnov výsledok je nevyhovujúci" End If End Sub
Váš kód je teraz pripravený na spustenie.
Tento kód skontroluje, či bunka D5 má hodnotu, ktorá je väčšia ako 33 Ak áno, zobrazí sa jeden výstup, ak nie, zobrazí sa niečo iné.
- Spustiť makro a dostanete výsledok podľa vášho kódu.
Pozrite sa na vyššie uvedený súbor údajov s výsledkom, Cell D5 drží 95 čo je určite viac ako 33 , preto sa zobrazuje Výsledok je vyhovel Ale ak spustíme kód pre bunky D7 (22), potom by sa zobrazil inak.
Prečítajte si viac: Ako používať príkaz VBA Case Statement (13 príkladov)
Podobné čítania
- Ako používať funkciu Log v programe Excel VBA (5 vhodných príkladov)
- Použitie funkcie VBA LTrim v programe Excel (4 príklady)
- Ako používať funkciu VBA FileDateTime v programe Excel (3 spôsoby použitia)
- Používanie operátora Mod VBA (9 príkladov)
- Funkcia VBA EXP v programe Excel (5 príkladov)
3. Aktualizácia komentárov v hodnotení žiakov pomocou viacerých príkazov If - Then - Else vo VBA
Naučili ste sa, ako pomocou jediného If-Then-Else ale tentoraz sa dozviete o Viacnásobné If-Then-Else s nasledujúcim príkladom.
Spustíme VBA kód na vyplnenie týchto Komentár na základe viacerých podmienok.
Kroky:
- Rovnaký spôsob ako predtým, otvoriť Editor jazyka Visual Basic z Vývojár karta a Vložte a Modul v okne kódu.
- V okne kódu skopírujte nasledujúci kód a vložte ho.
Sub UpdateComment() For Each grade In Range("D5:D10") If grade = "A" Then grade.Offset(0, 1).Value = "Skvelá práca" ElseIf grade = "B" Then grade.Offset(0, 1).Value = "Pokračuj" ElseIf grade = "C" Then grade.Offset(0, 1).Value = "Potrebuje zlepšenie" Else grade.Offset(0, 1).Value = "Stretnutie rodičov a učiteľa" End If Next grade EndSub
Váš kód je teraz pripravený na spustenie.
Tento kód vypíše komentáre podľa dosiahnutého hodnotenia študentov.
- Spustiť tento kód a pozrite si nasledujúci obrázok, kde sú políčka s komentármi vyplnené príslušnými výsledkami.
4. Príkaz If-Then-Else na aktualizáciu kardinálnych smerov na základe kódu v programe Excel
Môžete tiež využiť If-Then-Else nájsť svetové strany na základe poskytnutého kódu ukazovateľa. Pozrite sa na nasledujúci obrázok, kde zistíme smery na základe iniciál, ktoré boli uvedené.
Kroky:
- Otvorte stránku Editor jazyka Visual Basic z Vývojár karta a Vložte a Modul v okne kódu.
- V okne kódu skopírujte nasledujúci kód a vložte ho.
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 teraz pripravený na spustenie.
- Spustiť tento kód a v príslušných bunkách sa zobrazia názvy smerov.
Ak chcete nájsť len jeden smer na základe kódu, môžete použiť nasledujúci 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 prevezme hodnotu z bunky B5 a podľa toho vráti výsledok v bunke C5 .
Ak napríklad napíšete " N " v časopise Cell B5 , poskytne vám " Sever ; ak napíšete " S " v časopise Cell B5 , zobrazí sa vám " Južná " v časopise Cell C5 .
Záver
Tento článok vám ukázal, ako používať Ak - potom - inak príkaz v programe Excel s VBA . dúfam, že tento článok bol pre vás veľmi prínosný. Ak máte akékoľvek otázky týkajúce sa tejto témy, neváhajte sa opýtať.