Príkaz VBA If - Then - Else v programe Excel (4 príklady)

  • Zdieľajte To
Hugh West

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

Hugh West je veľmi skúsený tréner a analytik Excelu s viac ako 10-ročnými skúsenosťami v tomto odvetví. Má bakalársky titul v odbore účtovníctvo a financie a magisterský titul v odbore Business Administration. Hugh má vášeň pre vyučovanie a vyvinul jedinečný vyučovací prístup, ktorý sa dá ľahko sledovať a pochopiť. Jeho odborné znalosti Excelu pomohli tisíckam študentov a profesionálov na celom svete zlepšiť svoje zručnosti a vyniknúť vo svojej kariére. Hugh sa prostredníctvom svojho blogu delí o svoje znalosti so svetom a ponúka bezplatné výukové programy Excelu a online školenia, ktoré jednotlivcom a firmám pomôžu naplno využiť ich potenciál.