Ako používať príkaz If Else vo VBA? (s príkladmi)

Vyhlásenie programu Excel VBA IF Else

V pracovnom hárku nie je žiadny príkaz IF Else a dá sa použiť iba v kóde VBA. Pri práci s VBA môžeme poskytnúť podmienku, ktorou je príkaz If condition a ak je splnená určitá sada pokynov, potom sa vykoná a ak podmienka zlyhá v inštrukcii, potom sa vykoná príkaz else.

VBA sa nelíši, pokiaľ ide o logické testy. Funguje to rovnako, ako to funguje v bežných pracovných listoch. Spomedzi všetkých logických funkcií sa z balíka väčšinou používa funkcia „IF“. Pomocou IF môžeme vykonať logický test a dospieť k rozhodnutiam, ak je logický test spokojný, a tiež dospieť k alternatívnym rozhodnutiam, ak logický test nie je spokojný.

Nižšie je uvedená syntax podmienky IF IF Else.

AK potom, ak je logický test SKUTOČNÝ, ak je logický test NEPRAVDA, ukončite AK

Čo je vyhlásenie VBA IF Then Else?

Keď je dodávaný logický test FALSE, potrebujeme na vykonanie ako súčasť kódu nejakú alternatívnu úlohu. Takže „IF ELSE“ znamená, ak je logický test FALSE, čo ešte treba urobiť.

Aby sme lepšie porozumeli nasledujúcemu príkladu, poskytli sme výsledok ako „10 je väčší“, iba ak je logický test TRUE. V logickom výsledku FALSE však môžeme dodať alternatívny výsledok ako „10 je menej“.

Po zadaní logických testov a zadaní kódu PRAVÉHO dielu do ďalšieho riadku zadajte slovo „ELSE“.

ELSE znamená, že ak logický test nemá hodnotu TRUE, potrebujeme výsledok, pretože „10 je menej“.

Kód:

Sub IF_Else_Example1 () Ak 10> 11, potom MsgBox "10 je väčší" Else MsgBox "10 je menší" End If End Sub

Náš kód teraz poskytuje aspoň jeden z vyššie uvedených výsledkov. Vykonajte kód a uvidíte výsledok.

Pretože sme dodali alternatívny výsledok, ak je logický test NEPRAVDA, zobrazil alternatívny výsledok ako „10 je menší“, pretože 10 je menší ako druhé číslo 11.

Príklad

Napríklad si pozrite nasledujúce údaje.

Pomocou týchto údajov musíme dospieť k stavu na základe „ceny“ každého produktu. Kritériá na získanie stavu sú nižšie.

Ak je nákladová cena> 50, stav by mal byť „ drahý “, inak by mal byť stav „ nie drahý “.

Tu musíme otestovať nákladovú cenu, tj. Logicky otestovať, či je nákladová cena> 50 alebo nie. Ak je logický test TRUE, tj. Nákladová cena je viac ako 50, potrebujeme stav „Drahý“ a ak je logický test FALSE, tj. Nákladová cena je menej ako 50, potrebujeme alternatívny výsledok ako "Nie drahé."

Dobre, napíšme kód teraz. Predtým skopírujte a prilepte vyššie uvedenú tabuľku do hárka programu Excel.

Krok 1: Spustite podproces.

Sub IF_ELSE_Example2 () Koncový sub

Krok 2: Deklarujte premennú ako celočíselný údajový typ.

Dim k As Integer

Krok 3: Pretože potrebujeme otestovať viac ako jednu hodnotu buniek, musíme použiť cyklus FOR VBA LOOP, aby sme prešli bunkami a použili logiku pre všetky bunky.

Musíme uplatniť logické testy od 2. riadku 8 teho riadku, takže štart FOR LOOP 2 až 8.

Kód:

Pre k = 2 až 8 Ďalej k

Krok 4: Vo vnútri tejto slučky musíme vykonať logický test. Takže otvorte príkaz IF a vyberte prvú bunku pomocou vlastnosti CELLS.

Kód:

Ak bunky (k, 2). Hodnota> 50 Potom

Bunky (k, 2) tu znamenajú riadok (hodnota k) a stĺpec 2.

Krok 5: Ak je táto hodnota bunky> 50, potrebujeme v ďalšej bunke stĺpca výsledok „Drahý“. Takže kód bude -

Kód:

Bunky (k, 3). Hodnota = "Drahé"

Krok 6: Ak test nie je PRAVÝ, potrebujeme výsledky príkazu ELSE, tj. „Nie drahé“.

Kód:

Sub IF_ELSE_Example2 () Dim k As Integer For k = 2 to 8 If Cells (k, 2). Value> 50 Then Cells (k, 3). Value = "Expensive" Else Cells (k, 3). Value = "Not Drahé „Koniec, ak budúci k Koniec Sub

Tento kód bude prechádzať z druhého do ôsmeho radu, aby otestoval čísla, a dospel k výsledku na základe nákladovej ceny.

Takto môžeme použiť funkciu If-Else na získanie alternatívnych výsledkov.

Na čo treba pamätať

  • Inak vyhlásenie slúži na FALSE logický test.
  • Ak chcete v programe Excel použiť viac ako dva logické testy, musíme použiť príkaz ELSE IF.
  • V prípade vykonania úlohy pre viac ako jednu bunku musíme použiť slučky.
  • Pokiaľ príkaz Else dokáže otestovať iba jeden logický test.

Zaujímavé články...