Excel VBA Else If

VBA Else If vám umožňuje analyzovat stav a podle toho provést akci. IF podmínka zkontroluje, zda je dodaná podmínka PRAVDA nebo NEPRAVDA, pokud je podmínkou PRAVDA, vrátí přiřazenou hodnotu Hodnota, pokud je True, a vrátí hodnotu IF False, pokud je výsledek FALSE.

Logika stavu IF v pravidelném Excelu a VBA vzorci je stejná. V tomto článku se budu věnovat kompletní podmínce VBA IF.

Syntaxe příkazu VBA If

Nejprve se podívejte na syntaxi příkazu IF ve VBA.

Je to velmi podobné funkci našeho pracovního listu IF. Jediným rozdílem je, že musíme vložit slovo THEN, aby se funkce posunula vpřed, také Else část podmínky IF je volitelná na rozdíl od našeho normálního stavu IF a musíme uvést konec funkce jako End If .

Ve skutečnosti bude ještě jeden argument, pokud jsou podmínky pro testování více než jednou podmínkou a tato část se nazývá příkazem ELSE IF. Je to jako naše vnořená podmínka IF ve výpočtech našich listů. ELSE IF přijde do hodnoty obrázku, pokud je podmínkou FALSE, pak musíme testovat další podmínku s podmínkou ELSE IF.

V tomto článku uvidíme více podmínek ELSE IF v praktickém světě.

Jak používat VBA Else If Statement?

Podívejme se, jak používat VBA Else If Statement s několika příklady.

Tuto šablonu VBA Else If Excel si můžete stáhnout zde - VBA Else If Excel Template

Simple If Statement - Příklad č. 1

Teoretické vysvětlení nyní postačí, i když jste nerozuměli ničemu, čeho by se bát. V praktickém příkladu pochopíte logiku.

Předpokládejme, že v buňce A2 je hodnota a chcete zkontrolovat, zda je číslo větší než 100 nebo ne. Pokud je hodnota větší než 100, potřebujeme hodnotu v buňce B2 jako „Více než 100“. Níže uvedený kód provede požadovanou úlohu.

Kód:

 Sub IF_Example1 () If Range ("A2"). Hodnota> 100 Pak Range ("B2"). Hodnota = "Více než 100" End If End Sub 

Poté spusťte tento kód pomocí klávesy F5 nebo ručně, jak je uvedeno na obrázku. Pak můžeme vidět výsledek v buňce B2.

Pokud změníte hodnotu v buňce A2 na 99 a spusťte kód. Kód nevrátí nic, protože hodnota je menší než 100 a nezadali jsme žádný výsledek, pokud je test FALSE, to uvidíme v následujícím příkladu.

Pokud s Else Statement - Příklad # 2

Viděli jsme, jak funguje jeden IF s podmínkou TRUE. Nyní uvidíme, jak pracovat, pokud je dodaná podmínka FALSE.

V aktuálním kódu je po zadání hodnoty True v dalším řádku typu word Else.

Kód:

 Sub IF_Example2 () If Range ("A2"). Hodnota> 100 Then Range ("B2"). Hodnota = "Více než 100" Else End, pokud End Sub 

A do dalšího řádku napište kód pro hodnotu False.

Kód:

 Sub IF_Example2 () If Range ("A2"). Hodnota> 100 Pak Range ("B2"). Hodnota = "Více než 100" Else Range ("B2"). Hodnota = "méně než 100" End If End Sub 

Poté spusťte tento kód pomocí klávesy F5 nebo ručně, jak je uvedeno na obrázku. Pokud je hodnota větší než 100, bude výsledkem „Více než 100“ v buňce B2.

Pokud je hodnota menší než 100, bude výsledkem „méně než 100“.

Vnořené If prohlášení s El If If - Příklad # 3

Pokud chceme testovat více než jednu podmínku, musíme použít více příkazů IF uvnitř podmínky IF. Ve VBA však musíme použít slovo ELSE IF k testování více než jedné podmínky.

Například v buňce A2, pokud je hodnota větší než 200, potřebujeme výsledek jako „Více než 200“ v buňce B1.

Pokud je hodnota větší než 100, potřebujeme výsledek jako „Více než 100“ v buňce B2.

Pokud je hodnota menší než 100, potřebujeme výsledek jako „méně než 100“ v buňce B2.

Krok 1: Po předání hodnoty TRUE zadejte na dalším řádku slovo ELSE IF.

Kód:

 Sub IF_Example3 () If Range ("A2"). Hodnota> 200 Pak Range ("B2"). Hodnota = "Více než 200" ElseIf Range ("A2"). Hodnota> 100, potom Range ("B2"). = "Více než 100" End If End Sub 

Krok 2: Protože jsme již testovali dva argumenty, zbývá nám pouze jedna podmínka. Nyní v dalším řádku zadejte konečný výsledek testu s prohlášením ELSE.

Kód:

 Sub IF_Example3 () If Range ("A2"). Hodnota> 200 Pak Range ("B2"). Hodnota = "Více než 200" ElseIf Range ("A2"). Hodnota> 100, potom Range ("B2"). = "Více než 100" Else Range ("B2"). Hodnota = "Méně než 100" End If End Sub 

Krok 3: Poté spusťte tento kód pomocí klávesy F5 nebo ručně, jak je uvedeno na obrázku, abyste viděli výsledky.

Výsledek 1:

Výsledek 2:

Výsledek 3:

Vnořené, pokud se smyčkou - Příklad č. 4

Toto je pokročilý příklad Nested IF with Loop. Předpokládejme, že máte prodejní tabulku s 12 měsíčními údaji.

Ve sloupci stavu potřebujeme výsledek následovně.

  • Pokud je hodnota prodeje vyšší než 7000, měl by být výsledek „vynikající“
  • Pokud je hodnota prodeje vyšší než 6500, měl by být výsledek „velmi dobrý“
  • Pokud je hodnota prodeje vyšší než 6000, měl by být výsledek „dobrý“
  • Pokud je hodnota prodeje vyšší než 4 000, výsledek by měl být „Není špatný“
  • Pokud jsou všechny výsledky FALSE, pak by výsledek měl být „Bad“

K provedení tohoto testu potřebujeme níže uvedený kód, který je kombinací IF s ELSE IF a LOOP.

Kód:

 Sub IF_Example4 () Dim i jako celé číslo i = 2 pro i = 2 až 13, pokud jsou buňky (i, 2). Hodnota> = 7000, pak buňky (i, 3). Hodnota = "vynikající" buňky ElseIf (i, 2). Hodnota> = 6500 Pak buňky (i, 3). Hodnota = „Velmi dobrá“ ElseIf buňky (i, 2). Hodnota> = 6000 Pak buňky (i, 3). Hodnota = „Dobrá“ ElseIf buňky (i, 2) . Hodnota> = 4000 Pak buňky (i, 3). Hodnota = "Není špatné" Else buňky (i, 3). Hodnota = "Špatné" Konec, pokud je další i Konec Sub 

Poté spusťte tento kód pomocí klávesy F5 nebo ručně, jak je uvedeno na obrázku, abyste viděli výsledky.

Co si pamatovat

  • Příkaz ELSE IF vyžaduje kód výsledku na stejném řádku, nikoli na dalším řádku, a také vyžaduje, aby příkaz THEN přešel na další příkaz.
  • Pokud příkaz END IF není přiložen, dostaneme níže uvedenou chybu.

  • Operátor není ničím jiným než příkazem IF.
  • Stejně jako funkce pracovního listu, můžeme také použít příkaz AND & OR v příkazu IF.

Doporučené články

Toto byl průvodce VBA Else If Statement. Zde jsme diskutovali o VBA Else If a jak používat Excel VBA Else If spolu s několika praktickými příklady a stahovatelnou Excel šablonou. Můžete si také prohlédnout naše další doporučené články -

  1. Jak používat VBA Select Case?
  2. Jak používat funkci vyhledávání VBA?
  3. Průvodce funkcí VBA TRIM
  4. Průvodce a příklady smyček VBA

Kategorie: