VBA stikalo - Kako uporabljati izjavo o preklopu v Excelu VBA?

Kazalo:

Anonim

Izjava o stikalu VBA Excel

Vklop VBA je podoben funkciji izbire primera. Edina razlika med njimi je, da moramo v stikalo pisati veliko manjše kode v primerjavi z izbranimi primeri. Izjavo o stikalu lahko zapišemo znotraj podproceure ali pa jo zapišemo kot uporabniško določeno funkcijo v VBA.

Switch v VBA oceni izraz in poda izhod na podlagi pogojev za ta izraz. V izbranih izjavah primerov smo opredelili primere, da bi moral biti rezultat b in tako naprej, če imamo primer. Za to je treba napisati veliko kod za izpis izpisa primerov, vendar lahko v Switchu vse pogoje in izraze združimo v eno izjavo, ne pa da imamo več izjav.

Sintaksa izjave o stikalu

Switch izračuna prvi izraz in če je vrednost resnična, vrne vrednost za izraz in če vrednost za izraz 1 ni res, gre za isti izračun za izraz 2 in če je rezultat pravi, se prikaže vrednost 2, vendar če izraz vrnjen je napačen, preklopi se na drug izraz.

Torej, kaj se zgodi, če noben izraz ni resničen in so vsi vrnjeni kot napačni, v takšnem primeru dobimo napako v času izvajanja, razen če imamo za takšen scenarij napako, ki preprečuje napako.

Kako uporabljati izjavo o preklopu v Excelu VBA?

Spodaj so različni primeri za uporabo izjave VBA Switch v Excelu.

Predlogo programa Excel Switch Excel lahko prenesete tukaj - VBA Switch Excel predloga

VBA stikalo - primer # 1

Začnimo z osnovnim primerom, da dobimo predstavo o stavku VBA switch. Vzeli bomo vnos od uporabnika in na podlagi tega vira opredelili izhod. Vzeli bomo podatke od številke 1 do 5 in na podlagi vnosa bomo imeli vnaprej določene rezultate, če pa uporabnik vnese katero koli drugo številko razen našega obsega, bomo morali to napako odpraviti.

Za uporabo izjave o preklopu v Excelu VBA sledite spodnjim korakom:

1. korak: Na vizualnem osnovnem zavihku vnesite urejevalnik VB z zavihka razvijalca.

2. korak: V okno urejevalnika VB vstavite nov modul z zavihka Vstavljanje.

3. korak: V novem modulu, ki ste ga pravkar ustvarili, prijavite nov podproces.

Koda:

 Pod vzorec () Konec pod 

4. korak: Označite dve spremenljivki A in B, eno kot celo število in drugo kot niz.

Koda:

 Pod vzorec () Dim A kot celo število Dim B kot niz konca Konec 

5. korak: V spremenljivki A shrani vrednost, ki jo poda uporabnik s pomočjo funkcije vhodnega polja.

Koda:

 Pod vzorec () Dim A kot celo število Dim B kot niz A = InputBox ("Vnesite vrednost", "vrednost naj bo med 1 do 5") Končni pod 

6. korak: Zdaj bomo v spremenljivki B uporabili stavek stikala VBA, da smo ocenili rezultat glede na vhod, ki ga je priskrbel uporabnik.

Koda:

 Pod vzorec () Dim A kot celo število Dim B kot niz A = InputBox ("Vnesite vrednost", "vrednost naj bo med 1 do 5") B = stikalo (A = 1, "ena", A = 2, "dve ", A = 3, " Tri ", A = 4, " Štiri ", A = 5, " Pet ") Konec pod 

5. korak: s funkcijo MSGBOX prikažite vrednost, shranjeno v B.

Koda:

 Pod vzorec () Dim A kot celo število Dim B kot niz A = InputBox ("Vnesite vrednost", "vrednost naj bo med 1 do 5") B = stikalo (A = 1, "ena", A = 2, "dve ", A = 3, " Tri ", A = 4, " Štiri ", A = 5, " Pet ") MsgBox B Končna pod 

6. korak: S pritiskom na tipko F5 zaženite zgornjo kodo in nas prosi, da vnesemo celo število. Vnesite številko 3 in pritisnite OK, da vidite rezultat.

7. korak: Zdaj ponovno zaženimo kodo in vpišemo številko 6 in si oglejte rezultat, ki ga dobimo.

Dobimo napako časa izvajanja, saj v naši izjavi o stikalu ni izraza, ki bi definiral 6. Torej, v takšnih scenarijih moramo imeti nekaj predpogojnega ravnanja z napakami.

8. korak: Če želite premagati to napako časa izvajanja, označite še eno spremenljivko Var kot varianto.

Koda:

 Pod vzorec () Dim A kot celoten dim B kot vrstico Dim vari kot varianta A = InputBox ("Vnesite vrednost", "vrednost naj bo med 1 do 5") B = stikalo (A = 1, "ena", A = 2, "Two", A = 3, "Three", A = 4, "Four", A = 5, "Five") MsgBox B Končni pod 

Korak 9: Pred našo izjavo o preklopu uporabite vklop goto izjave on error, tako da če koda najde napako, ve, kam iti.

Koda:

 Pod vzorec () Dim A kot celoten dim B kot vrstico Dim vari kot varianta A = InputBox ("Vnesite vrednost", "vrednost naj bo med 1 do 5") Napaka GoTo var B = Switch (A = 1, "One ", A = 2, " Two ", A = 3, " Three ", A = 4, " Four ", A = 5, " Five ") MsgBox B Končni pod 

Korak 10: Zdaj določite, kaj se bo zgodilo, če bo koda naletela na napako,

Koda:

 Pod vzorec () Dim A kot celoten dim B kot vrstico Dim vari kot varianta A = InputBox ("Vnesite vrednost", "vrednost naj bo med 1 do 5") Napaka GoTo var B = Switch (A = 1, "One ", A = 2, " Two ", A = 3, " Three ", A = 4, " Four ", A = 5, " Five ") MsgBox B var: MsgBox" Vnesli ste neveljavno številko "Nadaljuj Naslednji konec Pod 

Korak 11: Zdaj zaženimo kodo s pritiskom na F5 ali s klikom na gumb Play in vhodno vrednost 6 in nato pritisnite OK, da vidimo končni rezultat v primeru, da stavek stikala naleti na napako.

VBA stikalo - primer # 2

Za ta primer imam podatke v listu 1, ki vsebujejo ime nekaterih filmov in njihovo trajanje v minutah. Glede na njihovo dolžino želim določiti film, kratek ali dolg. Oglejte si spodnje podatke.

Za uporabo izjave o preklopu v Excelu VBA sledite spodnjim korakom:

1. korak: začnimo v istem modulu in začnimo z definiranjem drugega podprocedura, kot sledi.

 Sub Sample1 () Konec Sub 

2. korak: Označite dve spremenljivki A in B, eno kot celo število, drugo pa String,

 Pod vzorec1 () Dim A kot celo število Dim B kot niz konca Konec 

Korak 3: Zdaj v spremenljivki A shranimo vrednost dolžine filma za kateri koli film.

 Pod vzorec1 () Dim A kot celo število Dim B kot niz A = obseg ("A3"). Odmik (0, 1) .Value End Sub 

Korak 4: Zdaj v spremenljivki B uporabimo stavek stikala VBA, da določimo, kakšen bi bil scenarij za vsako dolžino filma.

 Pod vzorec1 () Dim A kot celo število Dim B kot niz A = obseg ("A3"). Odmik (0, 1) .Value B = Stikalo (A <= 70, "Prekratek", A <= 100, "Kratek ", A <= 120, " Dolgo ", A <= 150, " Predolgo ") Konec Pod 

Korak 5: Kaj pa, če je vrednost večja od 180, če imamo tukaj še en obdelovalec napak ali pa lahko preprosto napišemo drug izraz kot True, Value. Ker bodo vrnjene vse druge vrednosti, bo ta izraz izvedel lažno kodo.

 Pod vzorec1 () Dim A kot celo število Dim B kot niz A = obseg ("A3"). Odmik (0, 1) .Value B = Stikalo (A <= 70, "Prekratek", A <= 100, "Kratek ", A <= 120, " Dolgo ", A <= 150, " Predolgo ", Res, " Dolgočasno ") Konec pod 

6. korak: Prikažite vrednost B s pomočjo funkcije msgbox.

 Pod vzorec1 () Dim A kot celo število Dim B kot niz A = obseg ("A3"). Odmik (0, 1) .Value B = Stikalo (A <= 70, "Prekratek", A <= 100, "Kratek ", A <= 120, " Dolga ", A <= 150, " Predolgo ", Res, " Dolgočasno ") MsgBox B End Sub 

7. korak: Zaženite kodo s pritiskom na tipko F5 ali s klikom na gumb Play in si oglejte izhod.

A3 celica ima film 2, katerega dolžina je bila 100, izhod pa kratek.

VBA stikalo - primer # 3

Uporabite stavek switch, da naredite uporabniško določeno funkcijo za zgornji primer, tako da jo bomo lahko uporabljali v našem delovnem listu, kadarkoli je to potrebno.

Za uporabo izjave o preklopu v Excelu VBA sledite spodnjim korakom:

1. korak: v istem modulu prijavite funkcijo, imenovano filmska dolžina.

 Funkcija FilmLength (podaljša kot celoten del) kot funkcija konca konca 

2. korak: Zdaj uporabite stavek VBA Switch, da določite parametre na podlagi dolžine, kot sledi,

 Funkcija FilmLength (Leng As Integer) As String FilmLength = stikalo (dolžina <= 70, "Prekratek", dolžina <= 100, "Kratek", Dolžina <= 120, "Dolga", Dolžina <= 150, "Predolga", Res, "dolgočasno") končna funkcija 

3. korak: Pojdite na delovni list, kjer smo imeli svoje podatke, vnesite = FilmLength (

4. korak: Lahko vidimo, da naša funkcija tam daje argument kot vrednosti v celici B2.

Korak 5: Po uporabi formule pritisnite enter.

6. korak: Zdaj povlecite funkcijo do celice C10 in si oglejte rezultat.

Stvari, ki jih je treba zapomniti

  • Funkcija Switch oceni izraz v njem. Če je prvi izraz ocenjen kot resničen, potem drugih izrazov ne ovrednoti.
  • Če noben izraz ni pravi, vrne napako časa izvajanja.
  • Moramo imeti orodja za obdelavo napak v stavku stikala ali izraza, tako da če se vsak izraz vrne napačen, ne bomo naleteli na napako v času izvajanja.
  • Stikalo je podobno izbiri izjave primera.

Priporočeni članki

To je vodnik za stikalo VBA. Tukaj razpravljamo, kako uporabiti izjavo stikala v excelu VBA skupaj z nekaj praktičnimi primeri in naloženo predlogo excela. Ogledate si lahko tudi druge naše predlagane članke -

  1. Uporaba funkcije VBA InStr
  2. Excel SWITCH funkcija
  3. Naključna številka VBA
  4. CONCATENATE funkcija v Excelu