Paano magagamit ang Select Case Statement sa VBA? (Mga Halimbawa)

Ang Excel VBA Piliin ang Pahayag ng Kaso

Piliin ang Kaso ay isang kahalili ng pagsulat ng maraming kung mga pahayag sa VBA, kapag mayroon kaming maraming mga kundisyon sa isang code na maaaring kailanganin naming gumamit ng maraming Kung mga pahayag at kung alin ay maaaring maging nakakapagod dahil nagiging mas kumplikado tulad ng higit sa mga Kung ibinigay na mga pahayag, sa piling kaso pahayag na tinukoy namin ang mga pamantayan bilang iba't ibang mga kaso at mga resulta ayon sa mga ito.

Ang SELECT CASE ay tumutulong sa proseso ng paggawa ng desisyon. Dito, ginagamit lamang ang isang expression upang masuri ang iba't ibang mga posibleng kaso. Madaling masuri ang maraming mga kundisyon upang maisagawa ang nabuong code. Ang pahayag ng kaso na ito ay ginamit bilang isang pamalit na pahayag sa ELSE IF upang masuri ang mga expression. Ito ay inuri bilang isang lohikal na pagpapaandar na inbuilt sa Excel. Upang magamit ang pagpapaandar na ito, ang code ay ipinasok sa pamamagitan ng visual basic editor na ipinakita sa ilalim ng tab ng developer.

Paliwanag

Ang iba't ibang mga pangkat ng pahayag ay ginagamit sa Select Case. Ang sumusunod na syntax ay dapat sundin upang magamit itong mabisa. Ito ay katulad ng pahayag ng switch na ipinakita sa iba pang mga wika ng programa tulad ng Java, C #, at PHP.

 Piliin ang [Kaso] Ekspresyon para sa pagsubok [Kaso] Listahan ng Mga Pahayag ng Ekspresyon (Kaso 1, Kaso 2, Kaso 3 at iba pa ...) Kaso Iba Pa (Ibang Pahayag) End Select 

Ang paliwanag para sa mga term na nauugnay sa napiling kaso ay ibinigay tulad ng sumusunod

Isang expression para sa pagsubok: Kinakailangan upang masuri ang iba't ibang mga uri ng data tulad ng integer, string, boolean, object, at character.

Listahan ng Mga Pagpapahayag: Ang mga expression ay nilikha gamit ang kaso upang mahanap ang eksaktong tugma ng input na ipinasok. Kung higit sa dalawang expression, ang mga ito ay pinaghiwalay gamit ang comma operator. Ang 'Is' ay isang keyword na ginamit sa paghahambing ng dalawang expression gamit ang mga lohikal na operator sa excel tulad ng =,, =.

  • Tapusin ang Piliin: Isinasara nito ang tagagawa ng piling kahulugan ng kahulugan
  • Mga Pahayag: Ang mga pahayag ay binuo gamit ang kaso upang patakbuhin ang mga expression na sinusuri upang suriin kung mayroong anumang tumutugma na pahayag
  • Iba Pang Mga Pahayag: Ito ay upang subukan ang ibang pahayag kung ang expression ng pagsubok ay hindi tugma sa anumang mga pahayag ng kaso.

Paano magagamit ang VBA Select Case Statement?

Ang tampok na tampok na case na ibinigay ng VBA ay hindi tumatakbo sa normal na worksheet. Kailangan naming gamitin ang pagpipiliang Visual Basic sa ilalim ng tab na Developer. Ang mga pagpapaandar na tinukoy ng gumagamit at pag-coding na nilikha sa mode ng developer upang patakbuhin ang iba't ibang mga maliliit na application sa larangan ng negosyo.

Ginagamit ito sa mga sitwasyon kung saan may pugad kung ang mga pahayag sa excel. Ito ang pinakamahusay na pagpipilian upang makitungo sa iba't ibang mga pahayag sa kaso. Upang mabisang magamit ang opsyong ito, dapat gampanan ang mga sumusunod na gawain

  • Una sa lahat, kailangang lumikha ng isang macro sa pamamagitan ng paglalagay ng control button ng command sa sheet ng excel.
  • Pagkatapos nito ay mag-right click sa command button at piliin ang pagpipilian ng view ng code
  • Ilagay ang code sa pagitan ng pagpapaandar ng pindutan ng utos at tapusin ang sub
  • I-debug ang code upang makilala ang anumang mga error sa syntax.
  • Compile ang code upang makahanap ng mga error sa compilation upang matagumpay na maipatupad ang programa
  • Baguhin ang mga halaga ng pag-input upang obserbahan ang iba't ibang mga resulta batay sa mga pamantayan sa pagtutugma
Maaari mong i-download ang VBA Select Case Excel Template dito - VBA Select Case Excel Template

Halimbawa # 1 - Simpleng Piliin ang Pahayag ng Kaso

Ang halimbawang ito ay upang maunawaan ang simpleng piling kaso upang hanapin ang katugmang halaga.

Code:

 Pribadong Sub Selcaseexmample () Dim A Bilang Integer A = 20 Piliin ang Kaso Isang Kaso 10 MsgBox "Ang Unang Kaso ay naitugma!" Kaso 20 MsgBox "Ang Pangalawang Kaso ay tugma!" Kaso 30 MsgBox "Ang Pangatlong Kaso ay tugma sa Select Case!" Kaso 40 MsgBox "Ang Pang-apat na Kaso ay tugma sa Select Case!" Kaso Iba Pa MsgBox "Wala sa Kaso ang naitugma!" Tapusin Piliin ang End Sub 

Resulta:

Apat na pahayag ng kaso at pahayag ng kaso ang ginamit upang ihambing ang ekspresyon ng pagsubok sa iba't ibang mga kaso. Sa kasalukuyang halimbawa, ang pangalawang kaso ay naitugma bilang variable na A na tumutugma sa 20.

Halimbawa # 2 - 'To' Keyword upang Subukin ang Mga Grado

Ipinapaliwanag ng halimbawang ito ang paggamit ng keyword na 'To' na may piling kaso.

Code:

 Pribadong Sub Selcasetoexample () Malabo ang mga marka ng mag-aaral Bilang Mga marka ng integer = InputBox ("Ipasok ang mga marka sa pagitan ng 1 hanggang 100?") Piliin ang Mga case studentmark Kaso 1 Hanggang 36 MsgBox "Nabigo!" Kaso 37 Hanggang 55 MsgBox "C Baitang" Kaso 56 Hanggang 80 MsgBox "B Baitang" Kaso 81 Hanggang 100 MsgBox "Isang Baitang" Kaso Iba Pa MsgBox "Wala sa Saklaw" End Select End Sub 

Resulta:

Ang keyword na 'To' ay kapaki-pakinabang sa pagtukoy sa hanay ng mga expression ng pagsubok sa isang saklaw. Nakatutulong ito sa paghanap ng grade na nakuha ng isang mag-aaral sa pamamagitan ng paghahambing ng iba't ibang mga kaso. Matapos patakbuhin ang programa, kailangan naming ipasok ang halaga upang makuha ang resulta.

Ang output ay ipinapakita gamit ang isang kahon ng mensahe tulad ng ipinakita sa screenshot sa itaas.

Halimbawa # 3 - Paggamit ng 'Is' Keyword na may Select Case

Ipinapakita ng halimbawang ito ang paggamit ng 'Is' keyword na may piling kaso.

Code:

 Sub CheckNumber () Dim Num Input Bilang Integer NumInput = InputBox ("Mangyaring ipasok ang isang numero") Piliin ang Case NumInput Case Ay = 200 MsgBox "Nagpasok ka ng isang bilang na mas malaki sa o katumbas ng 200" End Select End Sub 

Tumutulong ang keyword na 'Is' upang makahanap ng mga katugmang halaga na may mga pahayag lamang sa kaso. Kinukumpara nito ang expression ng pagsubok na may ibinigay na input upang makagawa ng output.

Ang output ay nakuha tulad ng ipinakita sa figure kung ang ipinasok na halaga ay higit sa 200

Halimbawa # 4 - Gamit ang Button ng Command upang Baguhin ang Mga Halaga

Ginamit din ang piling kaso gamit ang pindutan ng Command sa pamamagitan ng paglikha ng isang macro.

Code:

 Kulay ng sub () Kulay ng madilim Bilang kulay ng String = Saklaw ("A1"). Piliin ang Halaga Kaso ng Kaso Kulay "Pula", "Green", "Dilaw" Saklaw ("B1"). Halaga = 1 Kaso "Puti", "Itim "," Kayumanggi "Saklaw (" B1 "). Halaga = 2 Kaso" Blue "," Sky Blue "Saklaw (" B1 "). Halaga = 3 Kaso Iba Pang Kaso (" B1 "). Halaga = 4 Katapusan Piliin ang Wakas na Sub 

Tulad ng ipinakita sa programa, ang input ay kinuha mula sa mga cell ng worksheet. Ang programa ay naisakatuparan pagkatapos mag-click sa command button na ginamit mula sa mga kontrol ng ActiveX. Sa ito, ginagamit ang isang comma separator upang pagsamahin ang mga expression expression.

Kapag nagbago ang halaga sa Cell A1, nagreresulta ito sa isang pagbabago sa B1 cell din sa pamamagitan ng pagpapatakbo ng excel macro sa pamamagitan ng command button. Maaari kang mag-refer sa screenshot na ibinigay sa ibaba: -

Halimbawa # 5 - Suriin ang isang Numero na Kakatwa o Kahit

Ang halimbawang ito upang matulungan upang suriin ang isang numero ay pantay o kakaiba.

Code:

 Sub CheckOddEven () CheckValue = InputBox ("Ipasok ang Numero") Piliin ang Kaso (CheckValue Mod 2) = 0 Kaso Totoo MsgBox "Ang numero ay pantay" Kaso Maling MsgBox "Ang numero ay kakaiba" End Select End Sub 

Ang coding ay binuo tulad ng ipinapakita sa screenshot at output ay ipinapakita bilang mga sumusunod kapag kahit na ang numero ay ipinasok.

Halimbawa # 6 - Nests Select Pahayag ng Kaso

Ang Nesting ay isang kapaki-pakinabang na tampok ng piling kaso at ipinapakita ang paraan kung paano ito ginagawa.

Code:

 Sub TestWeekday () Piliin ang Case Weekday (Ngayon) Kaso 1, 7 Piliin Kaso Weekday (Ngayon) Kaso 1 MsgBox "Ngayon ay Linggo" Kaso Iba Pa MsgBox "Ngayon ay Sabado" End Select Case Else MsgBox "Ngayon ay isang Linggo" End Select End Sub 

Narito ang piling kaso ay tinukoy sa loob ng isa pang piling kaso upang subukan ang isang araw, araw ng trabaho, o katapusan ng linggo. Maliban sa kaso 1 at 7 na natitira lahat ay araw ng trabaho (Tandaan: ang kaso 1 ay Linggo at ang kaso 7 ay Sabado)

Bagay na dapat alalahanin

  • Ang keyword na 'Is' na ginagamit sa pahayag ng [kaso] at [kaso iba pa] ay hindi pantay.
  • Ang kontrol ng ActiveX ay dapat gamitin sa pagpapatupad ng programa sa pamamagitan ng isang pindutan ng utos na kumukuha ng input at pagpapakita ng output sa saklaw ng excel sheet ng mga cell.
  • Mahirap patakbuhin ang mga programa sa VBA kung ang macros ay hindi pinagana at palaging paganahin ang Macros upang makakuha ng pinakamahusay na mga resulta.
  • Ang VBA ay isang case sensitive at dapat na wastong ipinasok ang input upang makakuha ng mas mahusay na mga resulta.