Kako uporabiti izjavo Select Case v VBA? (Primeri)

Izjava o primeru primera v programu Excel VBA

Select Case je nadomestek za zapisovanje več stavkov if v VBA, ko imamo v kodi veliko pogojev, bomo morda morali uporabiti več stavkov If in ki je lahko dolgočasen, saj postane bolj zapleten, ko je na voljo več stavkov If, v Izberite primer primera, merila določimo kot različne primere in rezultate glede na njih.

SELECT CASE pomaga pri odločanju. Pri tem se za oceno različnih možnih primerov uporablja samo en izraz. Za izvedbo razvite kode se enostavno analizira več pogojev. Ta stavek primera se uporablja kot nadomestni stavek ELSE IF za oceno izrazov. Razvrščen je kot logična funkcija, ki je vgrajena v Excel. Za uporabo te funkcije se koda vnese v urejevalniku visual basic, predstavljenem na zavihku razvijalec.

Pojasnilo

V izbranem primeru so uporabljene različne skupine izjav. Za učinkovito uporabo je treba upoštevati naslednjo sintakso. Podobno je stavku switch, predstavljenem v drugih programskih jezikih, kot so Java, C # in PHP.

 Izberite [Primer] Izraz za preizkušanje [Primer] Seznam izjav (Primer 1, Primer 2, Primer 3 in tako naprej ...) Drugi primer (Druge izjave) Konec Izberite 

Pojasnilo izrazov, povezanih z izbranim primerom, je navedeno v nadaljevanju

Izraz za testiranje: Zahtevati je treba oceno različnih vrst podatkov, kot so celo število, niz, logična vrednost, objekt in znak.

Seznam izrazov:  Izrazi se ustvarijo z ohišjem, da se najde natančno ujemanje vnesenega vnosa. Če je več izrazov, jih ločimo z operatorjem vejice. 'Is' je ključna beseda, ki se uporablja pri primerjavi obeh izrazov z uporabo logičnih operatorjev v Excelu, kot so =,, =.

  • End Select: Zapre definicijo primera izbire konstruktorja
  • Izjave: Izjave se razvijejo z uporabo primera za zagon izrazov, ki so ovrednoteni za analizo, ali obstaja ujemajoča se izjava
  • Druge izjave: preizkusiti je stavek else, kadar se preizkusni izraz ne ujema z nobenim stavkom.

Kako uporabiti izjavo VBA Select Case?

Funkcija izbranega primera, ki jo ponuja VBA, se ne izvaja v običajnih delovnih listih. Na zavihku Razvijalec moramo uporabiti možnost Visual Basic. Uporabniško določene funkcije in kodiranje, ustvarjene v načinu za razvijalce za zagon različnih majhnih aplikacij na poslovnem področju.

Uporablja se v situacijah, ko so v Excelu ugnezdeni stavki if. Najboljša možnost je, da obravnavate različne navedbe primerov. Za učinkovito uporabo te možnosti je treba izvesti naslednje naloge

  • Najprej mora ustvariti makro z namestitvijo nadzora ukaznega gumba na list excel.
  • Po tem z desno miškino tipko kliknite ukazni gumb in izberite možnost pogleda kode
  • Kodo postavite med funkcijo ukaznega gumba in končno pod
  • Odpravite napake v kodi, da prepoznate kakršne koli skladenjske napake.
  • Sestavite kodo, da poiščete napake prevajanja za uspešno izvajanje programa
  • Spremenite vhodne vrednosti, da boste opazovali različne rezultate glede na merila ujemanja
To predlogo VBA Select Case Excel lahko prenesete tukaj - VBA Select Case Excel Predloga

Primer # 1 - Izjava o enostavnem primeru

Ta primer je razumeti preprost izbirni primer za iskanje ujemajoče se vrednosti.

Koda:

Zasebno Sub Selcaseexmample () Zatemni kot celo število A = 20 Izberi primer A Primer 10 MsgBox "Prvi primer se ujema!" Primer 20 MsgBox "Drugi primer se ujema!" Primer 30 MsgBox "Tretji primer se ujema v izbranem primeru!" Primer 40 MsgBox "Četrti primer se ujema v izbranem primeru!" Case Else MsgBox "Noben primer ni ustrezen!" End Izberite End Sub

Rezultat:

Za primerjavo testnega izraza z različnimi primeri se uporabljata stavek case case in case else. V tem primeru se drugi primer ujema kot spremenljivka A, ki se ujema z 20.

Primer # 2 - Ključna beseda 'Za' za preizkus ocen

Ta primer pojasnjuje uporabo ključne besede 'Za' z izbranimi črkami.

Koda:

Private Sub Selcasetoexample () Zatemni oznake študentov kot celoštevilčne oznake študentov = InputBox ("Vnesite ocene med 1 in 100?") Izberite študentske oznake primera Primer 1 do 36 MsgBox "Fail!" Primer 37 do 55 MsgBox "C Grade" Primer 56 do 80 MsgBox "B Grade" Primer 81 do 100 MsgBox "A Grade" Case Else MsgBox "Out of range" End Select End Sub

Rezultat:

Ključna beseda 'To' je koristna pri določanju nabora testnih izrazov v obsegu. V pomoč je pri iskanju ocene, ki jo je študent dosegel s primerjavo različnih primerov. Po zagonu programa moramo vnesti vrednost, da dobimo rezultat.

Izhod se prikaže s sporočilom, kot je prikazano na zgornjem posnetku zaslona.

3. primer - Uporaba ključne besede »Je« z izbranimi črkami

Ta primer prikazuje uporabo ključne besede 'Is' z izbranimi črkami.

Koda:

 Sub CheckNumber () Dim NumInput As Integer NumInput = InputBox ("Prosimo, vnesite številko") Select Case NumInput Case Is = 200 MsgBox "Vnesli ste številko, večjo ali enako 200" End Select End Sub 

Ključna beseda »Is« pomaga najti ujemajoče se vrednosti samo z velikimi črkami. Primerja testni izraz z danim vhodom, da ustvari izhod.

Izhod se dobi, kot je prikazano na sliki, če je vnesena vrednost večja od 200

Primer # 4 - Z ukaznim gumbom za spreminjanje vrednosti

Izbrani primer je bil uporabljen tudi z gumbom Command z ustvarjanjem makra.

Koda:

 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.