Ako používať Select Case Statement vo VBA? (Príklady)

Excel VBA Select Case Case

Select Case je náhradou za zapísanie viacerých príkazov if do VBA, keď máme v kóde veľa podmienok, možno budeme musieť použiť viac príkazov If a ktoré môžu byť zdĺhavé, pretože sa stávajú zložitejšími, pretože poskytuje viac príkazov If, v select case statement definujeme kritériá ako rôzne prípady a výsledky podľa nich.

VYBERTE PRÍPAD pomáha pri rozhodovaní. V tomto prípade sa na posúdenie rôznych možných prípadov používa iba jeden výraz. Na vykonanie vyvinutého kódu sa ľahko analyzuje viac podmienok. Tento výrok prípadu sa používa ako náhradný výrok k ELSE IF na posúdenie výrazov. Je klasifikovaná ako logická funkcia zabudovaná do programu Excel. Ak chcete použiť túto funkciu, kód sa zadáva prostredníctvom editora jazyka Visual Basic, ktorý sa nachádza na karte vývojár.

Vysvetlenie

Vo výberovom prípade sa používajú rôzne skupiny výpisov. Aby ste to mohli efektívne využiť, je potrebné dodržiavať nasledujúcu syntax. Je to podobné ako príkaz switch uvedený v iných programovacích jazykoch, ako sú Java, C # a PHP.

 Vyberte [Prípad] Výraz na testovanie [Prípad] Zoznam príkazov na vyjadrenie (Prípad 1, Prípad 2, Prípad 3 atď.)) Prípad Else (Prípady Iné) Koniec Vybrať 

Vysvetlenie pojmov spojených s vybraným prípadom je uvedené nižšie

Výraz na testovanie: Je potrebné vyhodnotiť rôzne typy údajov, ako sú celé číslo, reťazec, logická hodnota, objekt a znak.

Zoznam výrazov:  Výrazy sa vytvárajú s prípadom, aby sa zistila presná zhoda zadaného vstupu. Ak sú viac ako dva výrazy, sú oddelené čiarkou. 'Is' je kľúčové slovo používané pri porovnávaní týchto dvoch výrazov pomocou logických operátorov v programe Excel, napríklad =,, =.

  • Koncový výber: Zatvára definíciu prípadu výberu konstruktora
  • Príkazy: Príkazy sa vytvárajú pomocou príkazu case na spustenie výrazov, ktoré sa vyhodnotia na analýzu, či existuje zodpovedajúci príkaz
  • Príkazy Else: Je potrebné testovať príkaz else, keď sa testovací výraz nezhoduje so žiadnymi príkazmi case.

Ako používať vyhlásenie VBA Select Case?

Funkcia výberu prípadov poskytovaná VBA sa nespustí v bežných pracovných hárkoch. Musíme použiť voľbu Visual Basic na karte Vývojár. Užívateľom definované funkcie a kódovanie vytvorené v režime vývojára na spustenie rôznych malých aplikácií v obchodnej oblasti.

Používa sa v situáciách, keď sú vnorené výroky v Exceli. Je to najlepšia možnosť, ako sa vysporiadať s rôznymi prípadovými vyhláseniami. Aby bolo možné túto možnosť využiť efektívne, je potrebné vykonať nasledujúce úlohy

  • Najskôr je potrebné vytvoriť makro umiestnením ovládacieho prvku príkazového tlačidla do hárka programu Excel.
  • Potom kliknite pravým tlačidlom myši na príkazové tlačidlo a vyberte možnosť Zobraziť kód
  • Vložte kód medzi funkciu príkazového tlačidla a koncový sub
  • Ladením kódu identifikujte všetky syntaktické chyby.
  • Zostavte kód a vyhľadajte chyby kompilácie, ktoré umožnia úspešné vykonanie programu
  • Zmeňte vstupné hodnoty a sledujte rôzne výsledky na základe kritérií zhody
Túto šablónu VBA Select Case Excel si môžete stiahnuť tu - Šablóna VBA Select Case Excel

Príklad č. 1 - Jednoduché vyhlásenie o prípade

Tento príklad slúži na pochopenie jednoduchého prípadu výberu na vyhľadanie zhodnej hodnoty.

Kód:

Súkromný subvýborový príklad () Dim A As Integer A = 20 Select Case A Case 10 MsgBox "First Case is matched!" Prípad 20 MsgBox „Druhý prípad sa zhoduje!“ Prípad 30 MsgBox „Tretí prípad sa zhoduje s výberom prípadu!“ Prípad 40 MsgBox „Štvrtý prípad sa zhoduje s výberom prípadu!“ Prípad Else MsgBox "Žiadny z prípadov sa nezhoduje!" Koniec Vyberte Koniec Sub

Výsledok:

Na porovnanie testovacieho výrazu s rôznymi prípadmi sa používajú výroky štyroch prípadov a prípad iných prípadov. V tomto príklade je druhý prípad porovnaný, pretože premenná A sa zhoduje s 20.

Príklad č. 2 - Kľúčové slovo „do“ na testovanie známok

Tento príklad vysvetľuje použitie kľúčového slova „Komu“ vo vybranom prípade.

Kód:

Private Sub Selcasetoexample () Stlmiť študentské známky ako celé číslo studentmarkmarks = InputBox ("Zadať známky medzi 1 až 100?") Vybrať prípadové študentské známky Prípad 1 až 36 MsgBox "Fail!" Prípad 37 až 55 MsgBox "C triedy" Prípad 56 až 80 MsgBox "B triedy" Prípad 81 až 100 MsgBox "A" "Prípad Else MsgBox" Mimo rozsahu "Koniec Vyberte Koniec Sub

Výsledok:

Kľúčové slovo „do“ je užitočné pri definovaní množiny testovacích výrazov v rozsahu. Je užitočné vyhľadať známku, ktorú študent získal, porovnaním rôznych prípadov. Po spustení programu musíme zadať hodnotu, aby sme dosiahli výsledok.

Výstup sa zobrazí so schránkou so správou, ako je to znázornené na snímke obrazovky vyššie.

Príklad č. 3 - Použitie kľúčového slova „Je“ s výberom veľkých a malých písmen

Tento príklad demonštruje použitie kľúčového slova „Je“ s prípadom výberu.

Kód:

 Sub CheckNumber () Dim NumInput As Integer NumInput = InputBox ("Prosím, zadajte číslo") Select Case NumInput Case Is = 200 MsgBox "Zadali ste číslo väčšie alebo rovné 200" End Select End Sub 

Kľúčové slovo „je“ pomáha nájsť zhodné hodnoty iba s prípadovými príkazmi. Porovnáva testovací výraz s daným vstupom a vytvára výstup.

Výstup je získaný tak, ako je to znázornené na obrázku, ak je zadaná hodnota viac ako 200

Príklad č. 4 - S príkazovým tlačidlom na zmenu hodnôt

Prípad select sa tiež používa s príkazovým tlačidlom na vytvorenie 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 

As shown in the program, the input is taken from the cells of the worksheet. The program is executed after clicking on the command button used from ActiveX controls. In this, a comma separator is used to combine the test expressions.

When the value in the Cell A1 changed, it results in a change in the B1 cell also by running the excel macro through the command button. You can refer to the screenshot given below:-

Example #5 – Check a Number Odd or Even

This example to help to check a number is even or odd.

Code:

 Sub CheckOddEven() CheckValue = InputBox("Enter the Number") Select Case (CheckValue Mod 2) = 0 Case True MsgBox "The number is even" Case False MsgBox "The number is odd" End Select End Sub 

The coding is developed as shown in the screenshot and output is displayed as follows when even number is entered.

Example #6 – Nested Select Case Statements

Nesting is a useful feature of the select case and the way how it is done is shown.

Code:

 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 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 best results.
  • VBA is a case sensitive and input should be entered accurately to get better results.