VBA kapcsoló tok - Hogyan lehet használni a váltott eset állást az Excel VBA alkalmazásban?

Tartalomjegyzék:

Anonim

Excel VBA kapcsoló tok

A VBA kapcsoló esetében, amikor logikusan ellenőriznünk vagy elemeznünk kell egy feltételt, és ugyanazon alapon végre kell hajtanunk a különböző kódsorokat, akkor az IF-Else feltételes kijelentést használjuk. Hasonlóképpen, van még egy kapcsolótéma, amelyet szélesebben Select Case utasításnak hívnak, amely ellenőrizheti vagy elemezheti a több logikai feltételt, és ezek alapján végrehajthatja a kódsorokat. Ha három vagy több logikai feltételt kell ellenőriznie, akkor ajánlott a Select Case vagy a Change Case parancs használata a hagyományos IF-Else utasítás helyett. Mivel az ilyen esetekben beágyazott IF-Else utasítások helyett gyorsabbá és érthetőbbé teszi a VBA-kódot.

Váltás az esetre / az eset kiválasztása

A váltó eset vagy a válasszon eset a VBA-ban hasonló sorokon működik, mint az IF-Else utasítások. Ellenőrzi a több logikai / feltételes kifejezést a különböző értékekkel (esetek). Amint az esetek bármelyike ​​megfelel a feltételnek (igaz lesz az adott feltételre), a rendszer végrehajtja azt az esetet, a többi esetet pedig nem veszik figyelembe. Abban az esetben, ha két eset igaz az adott feltételre, csak az elsőt hajtják végre az elsőbbségi joggal.

A kapcsolótábla / az eset kiválasztásának szintaxisa az alábbiak szerint alakul:

Select Case
Case value_1
Code to Execute when Expression = value_1
Case value_2
Code to Execute when Expression = value_2
Case value_3
Code to Execute when Expression = value_3
.
.
.
Case value_n
Code to Execute when Expression = value_n
Case Else
Code to Execute when no case value meets the expression/logical test.
End Select

Hol,

Kifejezés: Ez egy kifejezés, amelyet különbözõ eseti értékekkel akartunk ellenõrizni vagy elemezni.

érték_1, érték_2, érték_3, … azok a logikai feltételek, amelyeket ellenőrizni kell az adott kifejezéshez.

Hogyan lehet használni a váltási eset nyilatkozatot az Excel VBA alkalmazásban?

Megtanuljuk, hogyan kell használni a Switch Case utasítást Excelben a VBA kód használatával.

Itt töltheti le a VBA Switch Case Excel sablont - VBA Switch Case Excel sablon

VBA kapcsolótok - 1. példa

Ellenőrizzük, hogy az adott szám 100-nál kevesebb vagy 100-nál nagyobb-e. Ehhez hajtsa végre az alábbi lépéseket:

1. lépés: Helyezzen be új modult a Visual Basic Editor (VBE) belsejébe. Kattintson a Beszúrás fülre, majd válassza a Modul menüpontot .

2. lépés: Adjon meg egy új alprocessort a beillesztett modulban, amely képes a makrót tartani.

Kód:

 Sub switch_case_example1 () Sub Sub 

3. lépés: Adjon meg egy új, usrInpt nevű változót, amely a felhasználói értéket képes tárolni. Használja a VBA InputBox függvényt egy beviteli mező létrehozásához, amely felhasználói értékeket vesz fel az usrInpt változón keresztül .

Kód:

 Sub switch_case_example1 () tompítani usrInpt egész számként usrInpt = InputBox ("Kérjük, írja be az értékét") 

4. lépés: Használja a Select Case utasítást, és adja meg a felhasználó által megadott értéket az usrInpt változón keresztül . Ezt a kifejezést logikai feltételekkel kell ellenőriznünk.

Kód:

 Sub switch_case_example1 () tompítani usrInpt mint egész szám usrInpt = InputBox ("Kérjük, írja be az értékét") Válassza az ügyet usrInpt End Sub 

5. lépés: Írja be az első logikai tesztet, amelyet ellenőrizni kell a Case utasítás alatt, az alábbiak szerint.

Kód:

 Sub switch_case_example1 () tompítani usrInpt mint egész szám usrInpt = InputBox ("Kérjük, írja be az értékét") Válassza az eset usrInpt eset értéke <100 

6. lépés: Az MsgBox funkcióval adjon hozzá egy kimeneti üzenetet, ha a Case Is <100 igaz.

Kód:

 Sub switch_case_example1 () tompítani usrInpt mint egész szám usrInpt = InputBox ("Kérjük, írja be az értékét") Válassza az eset usrInpt eset értéke <100 MsgBox "A megadott szám kevesebb, mint 100" Sub befejezése 


7. lépés: Most végre kell hajtanunk egy futtatható utasítást, ha az usrInpt értéke nagyobb, mint 100. Ehhez adjunk hozzá egy ügyet és az MsgBox-ot.

Kód:

 Sub switch_case_example1 () tompítani usrInpt mint egész szám usrInpt = InputBox ("Kérjük, írja be az értékét") Válassza az eset usrInpt esetet 100 MsgBox "A megadott szám nagyobb, mint 100" Vége Sub 

8. lépés: Mi lenne, ha a felhasználó által megadott érték pontosan a 100? Ehhez nincs eset. Adjuk hozzá azt, amely üzenetet ad a felhasználónak, hogy a megadott érték 100.

Kód:

 Sub switch_case_example1 () tompítani usrInpt mint egész szám usrInpt = InputBox ("Kérjük, írja be az értékét") Válassza az eset usrInpt eset 100 MsgBox "A megadott szám nagyobb, mint 100" Eset = 100 MsgBox "A megadott szám 100" Vége Sub 

9. lépés: Be kell fejeznünk a Select Case utasítást. Használja az End Select elemet a létrehozott hurok befejezéséhez.

Kód:

 Sub switch_case_example1 () tompítani usrInpt mint egész szám usrInpt = InputBox ("Kérjük, írja be az értékét") Válassza az eset usrInpt eset 100 MsgBox "A megadott szám nagyobb, mint 100" Eset = 100 MsgBox "A megadott szám 100" Vége Kiválasztás vége Alatti 

10. lépés: Most futtassa ezt a kódot a Futtatás gombra vagy az F5-re. Megjelenik egy új felugró ablak, amely az érték ellenőrzését kéri. Beírom a 110 értéket, és benyomom az OK gombot a beviteli mezőbe. Mivel az általam megadott szám nagyobb, mint 100, amint rákattintom az OK-ra, egy új üzenet jelenik meg a képernyőn, amelyben azt mondja: „A megadott szám nagyobb, mint 100”.

VBA kapcsolótok - 2. példa

Tegyük fel, hogy a pontszámok alapján szeretnénk rögzíteni a hallgatók fokozatát. Lásd az alábbi lépéseket, hogyan lehet ezt elérni.

1. lépés: Definiáljon egy új al-eljárást, a switch_case_example2 néven .

Kód:

 Sub switch_case_example2 () Sub Sub 

2. lépés: Határozzon meg két új változót - jelek egész számként és osztályok karakterláncként a Dim utasítás használatával a létrehozott alprogramban.

Kód:

 Sub switch_case_example2 () A tompítás egész számként történik 

3. lépés: Használja a VBA InputBox funkciót, amelyen keresztül a felhasználó beírhatja a változó jelek értékét.

Kód:

 Sub switch_case_example2 () Halvány jelek egész számként Halvány pontszámok karakterláncokként = InputBox ("Kérjük, írja be a jeleket") End Sub 

4. lépés: Használja a Select Case utasítást, és adja meg a változó jeleket ellenőrizendő kifejezésként.

Kód:

 Sub switch_case_example2 () Halvány jelek egészként Halvány pontszámok karakterláncokként = InputBox ("Kérjük, írja be a jeleket") Válassza az esetjeleket Vége al 

Mivel azt szeretnénk, hogy az osztályokat a hallgatókhoz az általuk beadott pontok alapján rendeljük hozzá, előbb meg kell határoznunk az osztályokat.

5. lépés: Az esetkifejezés segítségével ellenőrizze, hogy a jelek kevesebbek-e 35-nél. Ha igen, rendeljen értéket „F” -ként a változó osztályokhoz.

Kód:

 Sub switch_case_example2 () Halvány jelek egészként Halvány pontszámok karakterláncokként = InputBox ("Kérjük, írja be a jeleket") Válassza az esetjeleket Eset <35 fokozat = "F" End Sub 

6. lépés: Ha a jelek 35 és 45 között vannak, akkor rendelje meg az értéket „D” -ként a változó osztályokhoz.

Kód:

 Sub switch_case_example2 () Halvány pontok egészként Halvány pontok mint karakterláncok = InputBox ("Kérjük, írja be a jeleket") Válassza az esetjeleket Eset <35 fokozat = "F" 35 eset 45-ig osztályzat "" D "Vég sub 

7. lépés: Ha a bevitt jelek 46 és 55 között vannak, akkor a „C” értéket változó osztályokra kell hozzárendelni.

Kód:

 Sub switch_case_example2 () Halvány jelek egészként Halvány pontok karakterláncokként = InputBox ("Kérjük, írja be a jeleket") Válassza az esetjeleket Eset <35 fokozat = "F" eset 35-től 45-ig = "D" -es eset 46-től 55-ig = "C" End Sub 

8. lépés: Ha a jelek az 56–65 tartományba esnek, a változó osztályokhoz rendelt értéknek „B” -nek kell lennie.

Kód:

 Sub switch_case_example2 () Halvány jelek egészként Halvány pontok karakterláncokként = InputBox ("Kérjük, írja be a jeleket") Válassza az esetjeleket Eset <35 fokozat = "F" eset 35-től 45-ig = "D" -es eset 46-től 55-ig = "C" eset 56 - 65 évfolyam = "B" End Sub 

9. lépés: A 66–75 közötti pontszámoknál az osztálynak „A” besorolásúnak kell lennie.

Kód:

 Sub switch_case_example2 () Halvány jelek egészként Halvány pontok karakterláncokként = InputBox ("Kérjük, írja be a jeleket") Válassza az esetjeleket Eset <35 fokozat = "F" eset 35-től 45-ig = "D" -es eset 46-től 55-ig = "C" 56-as eset 65-ig = "B" 66-as eset 75-ig = "A" End Sub 

10. lépés: Ha a bevitt jelek meghaladják a 75-et, az osztályzatok változójának „A +” értéket kell hozzárendelni

Kód:

 Sub switch_case_example2 () Halvány jelek egész számként Halvány jelek mint karakterláncok = InputBox ("Kérjük, írja be a jeleket") Válassza az esetjeleket Eset 75 fokozatú = "A +" Vége Sub 

11. lépés: Használja az End lehetőséget .

Kód:

 Sub switch_case_example2 () Halvány jelek egészként Halvány pontszámok karakterláncokként = InputBox ("Kérjük, írja be a jeleket") Válassza az esetjeleket Eset 75 fokozatú = "A +" Vég kiválasztása Vége Al 

12. lépés: Most meg kell vizsgálnunk, hogy mi a besorolási osztály azzal a ponttal társítva, amelyet a hallgató beírt. Ennek elérése érdekében használja az MsgBox függvényt oly módon, hogy az megjelölje az elért osztályokat az üzenetmezőben.

Kód:

 Sub switch_case_example2 () Halvány pontok egészként Halvány pontok mint karakterláncok = InputBox ("Kérjük, írja be a jeleket") Válassza az esetjeleket Eset 75 fokozat = "A +" End Select MsgBox "Elért fokozat:" & osztályok vége Sub 

13. lépés: Futtassa ezt a kódot az F5 vagy a Futtatás gomb megnyomásával, és megjelenik egy VBA beviteli mező, amely jelölési értéket kér. A jeleket 72-ként írom be, és benyomom az OK gombot a beviteli mezőn. Amint megnyomom az OK gombot a beviteli mezőben, kapok egy üzenődobozt, amely feltünteti a bevitt jelölésekhez tartozó fokozatot.

Így használhatjuk a kapcsoló / válasszon eset nyilatkozatot a VBA-n belül.

Dolgok, amikre emlékezni kell

  • Az esetváltás valójában a VBA Select Case utasításának szinonimája. Úgy hívták, mert e kijelentés segítségével válthatunk egyszerre a különböző kimenetek között.
  • Ez az állítás az IF-Else hurok alternatívájaként használható, ha három vagy több feltételt kell ellenőriznünk.
  • Jól van, ha nem használja az ELSE Case lehetőséget a Select Case utasításban. Ebben az esetben azonban meg kell győződnie arról, hogy legalább egy feltétel teljesül-e a hurokban.

Ajánlott cikkek

Ez egy útmutató a VBA Switch Case-hez. Itt megvitatjuk, hogyan lehet a Váltás esettanulmányát használni az Excel VBA-ben, a gyakorlati példákkal és a letölthető Excel sablonnal együtt. Megnézheti más javasolt cikkeinket -

  1. VBA gyűjtemény (példák)
  2. VBA IF nyilatkozatok | Excel sablonok
  3. Hogyan kell használni az Excel VBA rendezési funkciót?
  4. VBA Míg a hurok (példák Excel sablonnal)
  5. VBA Environ