Hogyan kell használni a Select Case Statement alkalmazást a VBA-ban? (Példák)

Excel VBA Esettanulmány kiválasztása

A Select Case a többszörös if-utasítások leírásának helyettesítője a VBA-ban, ha sok feltételünk van egy kódban, akkor lehet, hogy több If-utasítást kell használnunk, és ami fárasztó lehet, mivel bonyolultabbá válik, ha több if-utasítás is rendelkezésre áll, válasszuk ki az esettanulmányt, a kritériumokat különböző esetekként definiáljuk, és az eredményeket azok szerint.

A SELECT CASE segít a döntéshozatalban. Ebben csak egy kifejezést használnak a különböző lehetséges esetek értékelésére. A kifejlesztett kód végrehajtásához több feltételt is könnyen elemezhetünk. Ezt az esetmegállapítást az ELSE IF helyettesítő nyilatkozataként használják a kifejezések értékeléséhez. Az Excelbe beépített logikai funkcióként van besorolva. Ennek a funkciónak a használatához a kódot a Visual Basic szerkesztőn keresztül kell megadni, amely a fejlesztő fül alatt található.

Magyarázat

Különféle állításcsoportokat használnak a Kiválasztási esetben. Ennek hatékony használatához a következő szintaxist kell követni. Hasonló a kapcsoló utasításhoz, amelyet más programozási nyelvek mutatnak be, például Java, C # és PHP.

 Válassza ki a [Eset] Kifejezést a teszteléshez [Eset] Kifejezési nyilatkozatok listája (1. eset, 2. eset, 3. eset és így tovább ...) Egyéb esetek (egyéb állítások) Vége Kiválasztás 

A kiválasztott esethez kapcsolódó kifejezések magyarázata a következő

Kifejezés teszteléshez: Meg kell értékelni a különböző típusú adatokat, például egész számot, karakterláncot, logikai értéket, objektumot és karaktert.

Kifejezések listája: A  kifejezéseket a kis- és nagybetűvel hozzák létre, hogy megtalálják a bevitt bemenet pontos egyezését. Ha kettőnél több kifejezés van, akkor ezeket vesszővel kell elválasztani. Az 'Is' egy kulcsszó, amelyet a két kifejezés összehasonlításához használnak az excel logikai operátorai segítségével, például =,, =.

  • End Select: Bezárja a konstruktor select case definícióját
  • Állítások: A kijelentéseket az eset felhasználásával fejlesztjük ki a kifejezések futtatásához, amelyeket elemezünk annak elemzésére, hogy van-e valamilyen egyező utasítás
  • Egyéb utasítások: Az else utasítás tesztelésére szolgál, ha a tesztelési kifejezés nem egyezik meg egyetlen eset állítással sem.

Hogyan használható a VBA Select Case Statement?

A VBA által biztosított válogatás funkció nem működik a normál munkalapokon. Használnunk kell a Visual Basic opciót a Fejlesztő fül alatt. A fejlesztő módban létrehozott, felhasználó által definiált funkciók és kódolások a különféle kis alkalmazások futtatásához az üzleti területen.

Olyan helyzetekben használják, amikor be vannak ágyazva, ha az excelben szereplő utasítások vannak. Ez a legjobb megoldás a különféle esetmegállapítások kezelésére. Az opció hatékony használatához a következő feladatokat kell végrehajtani

  • Először makrót kell létrehoznia úgy, hogy a parancsgomb vezérlését az excel lapra helyezi.
  • Ezután kattintson a jobb gombbal a parancs gombra, és válassza a Nézet kód opciót
  • Helyezze a kódot a parancsgomb funkció és az alvég közé
  • Hibakeresés a kódot a szintaxis hibák azonosításához.
  • Fordítsa le a kódot, és fordítási hibákat talál a program sikeres végrehajtásához
  • Módosítsa a bemeneti értékeket, hogy különböző eredményeket vegyen figyelembe az egyezési kritériumok alapján
Itt letöltheti ezt a VBA Select Case Excel sablont - VBA Select Case Excel sablont

1. példa - Esettanulmány egyszerű kiválasztása

Ez a példa az egyszerű kiválasztási eset megértésére szolgál az egyező érték megtalálásához.

Kód:

Private Sub Selcaseexample () Dim A mint egész szám A = 20 Select Case A Case 10 eset MsgBox "Az első eset megegyezik!" 20. eset MsgBox "A második eset megegyezik!" 30. eset MsgBox "A harmadik eset megegyezik a Select Case-ben!" 40. eset MsgBox "A negyedik eset megegyezik a Select Case-ben!" Case Else MsgBox "Egyik eset sem felel meg!" Vége Válassza a Vége al lehetőséget

Eredmény:

Négy eset- és esetkivonat használatával összehasonlítjuk a teszt kifejezést a különböző esetekkel. Ebben a példában a második eset egyeztethető, mivel az A változó 20-val egyezik.

2. példa - 'To' kulcsszó az osztályzatok teszteléséhez

Ez a példa elmagyarázza a „Címzett” kulcsszó használatát a kiválasztott esettel.

Kód:

Private Sub Selcasetoexample () Dim diákjelek egész számként Integer studentmarks = InputBox ("Írjon be jelöléseket 1 és 100 között?") Válassza ki az eset diákjeleket Case 1 - 36 MsgBox "Fail!" 37–55. Eset, MsgBox „C osztály”, eset 56–80, „MsgBox„ B osztály ”, eset 81–100,

Eredmény:

A „Címzett” kulcsszó segít meghatározni a teszt kifejezések halmazát egy tartományban. Hasznos megtalálni a hallgató által megszerzett osztályzatot a különböző esetek összehasonlításával. A program futtatása után meg kell adnunk az értéket az eredmény eléréséhez.

A kimenet egy üzenetmezővel jelenik meg, amint az a fenti képernyőképen látható.

3. példa - Az „Is” kulcsszó használata a Kiválasztott eset használatával

Ez a példa bemutatja az „Is” kulcsszó használatát a kiválasztott esetben.

Kód:

 Sub CheckNumber () Dim NumInput As Integer NumInput = InputBox ("Írjon be egy számot") Kiválasztja az esetet NumInput Case Is = 200 MsgBox "200-nál nagyobb vagy egyenlő számot adott meg" End Select End End Sub 

Az 'Is' kulcsszó segít megtalálni az egyező értékeket, csak eseti utasításokkal. Összehasonlítja a teszt kifejezést az adott bemenettel a kimenet előállításához.

A kimenetet az ábra mutatja, ha a megadott érték meghaladja a 200 értéket

4. példa - Parancsgombbal az értékek megváltoztatásához

A Select esetet a Command gombbal is használták egy makró létrehozásával.

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.