Jak používat příkaz Select Case ve VBA? (Příklady)

Excel VBA Select Case Case

Select Case je náhradou za zápis více příkazů if ve VBA, když máme v kódu mnoho podmínek, možná budeme muset použít více příkazů If a které mohou být zdlouhavé, protože se stávají složitějšími, protože jsou poskytovány další příkazy If, select case statement definujeme kritéria jako různé případy a výsledky podle nich.

SELECT CASE pomáhá v rozhodovacím procesu. V tomto případě se k posouzení různých možných případů používá pouze jeden výraz. K provedení vyvinutého kódu se snadno analyzuje více podmínek. Tento případový příkaz se používá jako náhradní příkaz k JINÉMU IF k posouzení výrazů. Je klasifikován jako logická funkce zabudovaná do aplikace Excel. Chcete-li použít tuto funkci, je kód zadán pomocí editoru jazyka Visual Basic, který je uveden na kartě vývojáře.

Vysvětlení

Ve výběrovém případě se používají různé skupiny příkazů. K efektivnímu použití je třeba dodržovat následující syntaxi. Je to podobné jako příkaz switch uvedený v jiných programovacích jazycích, jako je Java, C # a PHP.

 Vyberte [Případ] Výraz pro testování [Případ] Seznam výrazů (Případ 1, Případ 2, Případ 3 atd.) Případ Else (Případy Jiných) Konec Vybrat 

Vysvětlení pojmů spojených s vybraným případem je poskytnuto následovně

Výraz pro testování: Je nutné posoudit různé typy dat, jako je celé číslo, řetězec, logická hodnota, objekt a znak.

Seznam výrazů:  Výrazy se vytvářejí s případem, aby se zjistila přesná shoda zadaného vstupu. Pokud jsou více než dva výrazy, jsou odděleny operátorem čárky. „Is“ je klíčové slovo využívané při porovnávání dvou výrazů pomocí logických operátorů v aplikaci Excel, například =,, =.

  • End Select: Zavře definici případu výběru konstruktoru
  • Příkazy: Příkazy jsou vyvíjeny pomocí případu ke spuštění výrazů, které jsou vyhodnoceny k analýze, zda existuje nějaký odpovídající výraz
  • Else Statements: Je testovat příkaz else, když testovací výraz neodpovídá žádným příkazům case.

Jak používat prohlášení o případu VBA Select?

Funkce výběru případů poskytovaná VBA se nespustí v normálních pracovních listech. Musíme použít možnost jazyka na kartě Vývojář. Uživatelem definované funkce a kódování vytvořené v režimu vývojáře pro spuštění různých malých aplikací v oblasti podnikání.

Používá se v situacích, kdy jsou vnořené if příkazy v Excelu. Je to nejlepší volba, jak se vypořádat s různými případovými prohlášeními. Chcete-li tuto možnost využívat efektivně, je třeba provést následující úkoly

  • Nejprve je třeba vytvořit makro umístěním ovládacího prvku příkazového tlačítka do listu aplikace Excel.
  • Poté klikněte pravým tlačítkem na příkazové tlačítko a vyberte možnost zobrazit kód
  • Vložte kód mezi funkci příkazového tlačítka a koncový díl
  • Chcete-li identifikovat jakékoli chyby syntaxe, laděte kód.
  • Zkompilujte kód a vyhledejte chyby kompilace, abyste program mohli úspěšně spustit
  • Změňte vstupní hodnoty a sledujte různé výsledky na základě kritérií shody
Tuto šablonu VBA Select Case Excel si můžete stáhnout zde - Šablona VBA Select Case Excel

Příklad 1 - Jednoduché prohlášení o případu

V tomto příkladu je třeba porozumět jednoduchému případu výběru a najít odpovídající hodnotu.

Kód:

Private Sub Selcaseexmample () Dim A As Integer A = 20 Select Case A Case 10 MsgBox "First Case is matched!" Případ 20 MsgBox "Druhý případ je uzavřen!" Případ 30 MsgBox "Třetí případ se shoduje s výběrem případu!" Případ 40 MsgBox "Čtvrtý případ se shoduje s výběrem případů!" Případ Else MsgBox "Žádný z případů se neshoduje!" Konec Vyberte Konec Sub

Výsledek:

K porovnání testovacího výrazu s různými případy se používá příkaz case case a case else. V tomto příkladu je druhý případ shodný, protože proměnná A odpovídá 20.

Příklad č. 2 - Klíčové slovo „Komu“ k testování známek

Tento příklad vysvětluje použití klíčového slova „Komu“ s vybraným případem.

Kód:

Private Sub Selcasetoexample () Dim studentmarks as Integer studentmarks = InputBox ("Enter brands between 1 to 100?") Select Case studentmarks Case 1 To 36 MsgBox "Fail!" Případ 37 až 55 MsgBox "Grade" Případ 56 až 80 MsgBox "B Grade" Případ 81 až 100 MsgBox "Grade" Případ Else MsgBox "Mimo rozsah" Konec Vybrat Konec Sub

Výsledek:

Klíčové slovo „To“ je užitečné při definování sady testovacích výrazů v rozsahu. To je užitečné při hledání známky získané studentem porovnáním různých případů. Po spuštění programu musíme zadat hodnotu, abychom získali výsledek.

Výstup se zobrazí se zprávou, jak je znázorněno na výše uvedeném snímku obrazovky.

Příklad č. 3 - Použití klíčového slova „Je“ s vybraným případem

Tento příklad ukazuje použití klíčového slova „Is“ s případem select.

Kód:

 Sub CheckNumber () Dim NumInput As Integer NumInput = InputBox ("Please number a number") Select Case NumInput Case Is = 200 MsgBox "Zadali jste číslo větší nebo rovné 200" End Select End Sub 

Klíčové slovo „je“ pomáhá najít shodné hodnoty pouze s případovými příkazy. Porovnává testovací výraz s daným vstupem a vytváří výstup.

Výstup je získán, jak je znázorněno na obrázku, pokud je zadaná hodnota větší než 200

Příklad č. 4 - S příkazovým tlačítkem pro změnu hodnot

Vybraný případ se také používá s příkazovým tlačítkem při vytváření makra.

Kód:

 Sub color () Dim color As String color = Range ("A1"). Value Select Case color Case "Red", "Green", "Yellow" Range ("B1"). Value = 1 Case "White", "Black "," Brown "Range (" B1 "). Value = 2 Case" Blue "," Sky Blue "Range (" B1 "). Value = 3 Case Else Range (" B1 "). Value = 4 End Select End Sub 

Jak je znázorněno v programu, vstup je převzat z buněk listu. Program se spustí po kliknutí na příkazové tlačítko použité z ovládacích prvků ActiveX. V tomto případě se k kombinování testovacích výrazů používá oddělovač čárky.

Když se hodnota v buňce A1 změní, dojde ke změně v buňce B1 také spuštěním makra aplikace Excel prostřednictvím příkazového tlačítka. Můžete se podívat na níže uvedený snímek obrazovky: -

Příklad č. 5 - Zkontrolujte liché nebo sudé číslo

Tento příklad, který pomůže zkontrolovat číslo, je sudý nebo lichý.

Kód:

 Sub CheckOddEven () CheckValue = InputBox ("Zadejte číslo") Vyberte případ (CheckValue Mod 2) = 0 Case True MsgBox "Číslo je sudé" Case False MsgBox "Číslo je liché" Konec Vyberte Konec Sub 

Kódování se vyvíjí tak, jak je znázorněno na snímku obrazovky, a při zadání sudého čísla se výstup zobrazí následovně.

Příklad č. 6 - Vnořené výpisy vybraných případů

Vnoření je užitečnou funkcí vybraného případu a je znázorněn způsob jeho provedení.

Kód:

 Sub TestWeekday () Vyberte případ v pracovní den (nyní) Případ 1, 7 Vyberte případ v pracovní den (nyní) Případ 1 MsgBox "Dnes je neděle" Případ Else MsgBox "Dnes je sobota" Konec Vyberte případ Jinak MsgBox "Dnes je den v týdnu" Konec Vyberte Konec Sub 

Zde je výběrový případ definován v jiném výběrovém případě pro testování dne, pracovního dne nebo víkendu. Kromě případů 1 a 7 zůstávají všechny dny v týdnu (Poznámka: případ 1 je neděle a případ 7 je sobota)

Věci k zapamatování

  • Klíčové slovo „Is“ použité ve výrazu [case] a [case else] nejsou stejné.
  • Ovládací prvek ActiveX by měl být použit při provádění programu pomocí příkazového tlačítka, které přijímá vstup a zobrazuje výstup v rozsahu buněk Excel.
  • Je těžké spouštět programy ve VBA, pokud jsou makra deaktivována, a vždy povolit makra, abyste dosáhli nejlepších výsledků.
  • VBA rozlišuje velká a malá písmena a vstup by měl být zadán přesně, abyste dosáhli lepších výsledků.