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 lze snadno analyzovat 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 integrovaná do aplikace Excel. Chcete-li použít tuto funkci, kód se zadává prostřednictvím editoru jazyka Visual Basic, který je uveden na kartě vývojář.

Vysvětlení

Ve Select Case se používají různé skupiny výpisů. 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.

Select (Case) Expression for testing (Case) List of Expression Statements (Case 1, Case 2, Case 3 and so on…) Case Else (Else Statements) End Select

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í se vytvářejí 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 zobrazení kódu.
  • Umístě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

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 vybraným případem!" 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 „Komu“ 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 pro získání výsledku zadat hodnotu.

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

Případ select se také používá s příkazovým tlačítkem vytvořením 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í, jak je znázorněno na snímku obrazovky, a výstup se zobrazí následovně, když je zadáno sudé číslo.

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

Vnoření je užitečná funkce vybraného případu a je znázorněn způsob, jakým se to dělá.

Kód:

Sub TestWeekday() Select Case Weekday(Now) Case 1, 7 Select Case Weekday(Now) Case 1 MsgBox "Today is Sunday" Case Else MsgBox "Today is Saturday" End Select Case Else MsgBox "Today is a Weekday" End Select End Sub

Here the select case is defined inside another select case to test a day, weekday, or weekend. Except for case 1 and 7 remaining all are weekdays (Note: case 1 is Sunday and case 7 is Saturday)

Things to Remember

  • The ‘Is’ keyword using in the statement of (case) and (case else) are not equal.
  • ActiveX control should be used in executing program through a command button taking input and displaying output in the excel sheet range of cells.
  • It is hard to run the programs in VBA if macros are disabled and always enable Macros to get the best results.
  • 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ů.

Zajímavé články...