Kako uporabiti Select Case Statement 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 itd.) 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 se ustvarijo 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 kontrolnika 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 podmesto.
  • 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

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 ("Vnesi ocene med 1 in 100?") Izberite študentske oznake primera Primer 1 do 36 MsgBox "Fail!" Primer 37 do 55 MsgBox "C razred" Primer 56 do 80 MsgBox "B razred" Primer 81 do 100 MsgBox "A razred" Case Else MsgBox "Izven dosega" 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.

Rezultat 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 'Je' 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 se uporablja tudi z gumbom Command z ustvarjanjem makra.

Koda:

Podbarva () Zatemnjena barva Kot barva niza = obseg ("A1"). Izberite vrednost Barva ohišja Ohišje "Rdeče", "Zeleno", "Rumeno" Območje ("B1"). Vrednost = 1 Ohišje "Belo", "Črno "," Brown "Range (" B1 "). Value = 2 Case" Blue "," Sky Blue "Range (" B1 "). Value = 3 Case Else Range (" B1 "). Value = 4 End Select End Sub

Kot je prikazano v programu, se vnos vzame iz celic delovnega lista. Program se zažene po kliku na ukazni gumb, uporabljen v kontrolah ActiveX. Pri tem se ločilo vejic uporablja za kombiniranje testnih izrazov.

Ko se vrednost v celici A1 spremeni, povzroči spremembo v celici B1 tudi z zagonom makra excel prek ukaznega gumba. Ogledate si lahko spodnji posnetek zaslona: -

5. primer - preverite številko liho ali sodo

Ta primer za pomoč pri preverjanju številke je sodo ali liho.

Koda:

Sub CheckOddEven () CheckValue = InputBox ("Enter the Number") Select Case (CheckValue Mod 2) = 0 Case True MsgBox "Število je sodo" Case False MsgBox "Število je liho" End Select End Sub

Kodiranje se razvije, kot je prikazano na posnetku zaslona, ​​in izhod se prikaže na naslednji način, ko vnesete celo številko.

Primer # 6 - ugnezdene izjave o izbranih primerih

Vgnezditev je koristna lastnost izbranega primera in prikazan je način, kako se to izvaja.

Koda:

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 razlikuje med velikimi in malimi črkami, zato je treba za boljše rezultate vnesti natančno.

Zanimive Članki...