Kućište VBA sklopke - Kako koristiti Izjava o slučaju prebacivanja u Excelu VBA?

Sadržaj:

Anonim

Slučaj prekidača Excel VBA

U slučaju VBA Switch, kada trebamo logično provjeriti ili analizirati stanje i izvršiti različite retke kodova temeljenih na istom, koristimo IF-Else uvjetnu izjavu. Slično tome, postoji još jedan izraz Switch Case koji je poznatiji kao Izjava slučaja slučaja koji može provjeriti ili analizirati više logičkih uvjeta i na njima izvršiti redove kodova. Ako imate tri ili više logičkih uvjeta za provjeru, preporučuje se da koristite opciju Select Case ili Switch Case umjesto uobičajene izjave IF-Else. Jer to čini VBA kod bržim i razumljivijim umjesto ugniježđenih IF-Else izjava u takvim slučajevima.

Switch Case / Select Case

Slučaj prebacivanja ili Odaberi slučaj u VBA djeluje na slične crte kao u IF-Else izjavama. Provjerava više logičkih / uvjetnih izraza u odnosu na različite vrijednosti (slučajeve). Čim se bilo koji slučaj podudara s uvjetom (postaje istinito za zadani uvjet), sustav izvršava taj slučaj, a ostali se slučajevi zanemaruju. U slučaju, postoje dva slučaja istinita za zadani uvjet, samo će se prvi izvršiti sa zakonom prioriteta.

Sintaksa za preklopni slučaj / odabir slučaja nalazi se u nastavku:

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

Gdje,

Izraz: ovo je izraz za koji smo željeli provjeriti ili analizirati koristeći različite vrijednosti slučaja.

value_1, value_2, value_3, … logični su uvjeti koje je potrebno provjeriti za dati izraz.

Kako se koristi Izjava o slučaju prekidača u Excelu VBA?

Naučit ćemo kako koristiti izraz Case Switch u Excelu pomoću VBA koda.

Ovdje možete preuzeti ovaj VBA predložak preklopnika kućišta - Predložak VBA Switch Case Excel

Slučaj VBA sklopke - Primjer # 1

Provjerit ćemo da li je navedeni broj manji od 100 ili veći od 100. Za to slijedite korake u nastavku:

Korak 1: Umetnite novi modul u Visual Basic Editor (VBE). Kliknite karticu Umetanje > odaberite Modul.

Korak 2: Definirajte novu potproceru u umetnutom modulu koji može sadržavati vaš makronaredbu.

Kodirati:

 Sub switch_case_example1 () Kraj Sub 

Korak 3: Definirajte novu varijablu nazvanu usrInpt koja može sadržavati korisničku vrijednost. Iskoristite VBA InputBox funkciju za stvaranje ulaznog okvira koji uzima korisničke vrijednosti putem varijable usrInpt .

Kodirati:

 Pod switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox ("Unesite vrijednost") Kraj Sub 

Korak 4: Upotrijebite izjavu Select Case i navedite vrijednost koju korisnik nudi putem varijable usrInpt . To je izraz koji trebamo provjeriti s logičkim uvjetima.

Kodirati:

 Pod switch_case_example1 () Dim usrInpt Kao Cijeli usrInpt = InputBox ("Unesite vrijednost") Odaberite Slučaj usrInpt Kraj Pot 

Korak 5: Unesite prvi logički test koji će se provjeriti pod izjavom slučaja na sljedeći način.

Kodirati:

 Pod switch_case_example1 () Dim usrInpt Kao Cijeli usrInpt = InputBox ("Unesite vrijednost") Odaberite Slučaj usrInpt Slučaj je <100 Kraj Sub 

Korak 6: Upotrijebite MsgBox funkciju za dodavanje izlazne poruke ako je Case <100 true.

Kodirati:

 Pod switch_case_example1 () Dim usrInpt Kao Cijeli usrInpt = InputBox ("Unesite vrijednost") Odaberite Slučaj usrInpt Slučaj je <100 MsgBox "Navedeni broj je manji od 100" Kraj Pod 


Korak 7: Sada moramo pružiti izvršnu izjavu kada je vrijednost za usrInpt veća od 100. Dodajte Case i MsgBox da biste to postigli.

Kodirati:

 Pod Switch_case_example1 () Dim usrInpt Kao Cijeli usrInpt = InputBox ("Unesite vrijednost") Odaberite Case usrInpt Slučaj je 100 MsgBox "Navedeni broj je veći od 100" Kraj Sub 

Korak 8: Što ako vrijednost koju korisnik pruži iznosi točno 100? Za to nemamo slučaj. Dodajmo onu koja korisniku daje poruku da je vrijednost koju je unijeo 100.

Kodirati:

 Pod switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox ("Molimo unesite svoju vrijednost") Odaberite Case usrInpt Case je 100 MsgBox "Navedeni broj je veći od 100" Case Is = 100 MsgBox "Navedeni broj je 100" End Sub 

Korak 9: Moramo završiti izjavu Select Case. Koristite End Select za kraj petlje koja je stvorena.

Kodirati:

 Pod switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox ("Molimo unesite svoju vrijednost") Odaberite Case usrInpt Case je 100 MsgBox "Navedeni broj je veći od 100" Case Is = 100 MsgBox "Navedeni broj je 100" End Select End Pod 

Korak 10: Sada pokrenite ovaj kôd pritiskom na tipku Pokreni ili F5. Pojavit će se novi skočni okvir koji traži vrijednost za provjeru. Upisat ću vrijednost kao 110 i pritisnuti gumb OK (U redu) na polju za unos. Budući da je broj koji unesem veći od 100, čim kliknem na U redu, na mom se zaslonu pojavit će nova poruka koja kaže: "Navedeni broj je veći od 100".

Slučaj VBA sklopke - Primjer # 2

Pretpostavimo da želimo osvojiti ocjenu učenika na temelju njihovih ocjena. Pogledajte korake u nastavku o tome kako to možemo postići.

Korak 1: Definirajte novi podprocedu pod nazivom switch_case_example2 .

Kodirati:

 Sub switch_case_example2 () Kraj Sub 

Korak 2: Definirajte dvije nove varijable - oznake kao cijeli broj, a ocjene kao niz koristeći Dim izraz u stvorenom podproceduri.

Kodirati:

 Sub switch_case_example2 () Dim označava kao cjeloviti Dim ocjenjuje kao string žice Sub 

Korak 3: Upotrijebite funkciju VBA InputBox putem koje korisnik može unijeti vrijednost za varijable oznaka .

Kodirati:

 Sub switch_case_example2 () Dim oznake kao cijeli brojevi Dim ocjenjuju kao žice znakova = InputBox ("Unesite oznake") Kraj Pod 

Korak 4: Upotrijebite izjavu Select Case i navedite varijable oznake kao izraz koji treba provjeriti.

Kodirati:

 Pod switch_case_example2 () Dim oznake kao cjeloviti Dim ocjenjuju kao žice znakova = InputBox ("Molimo unesite oznake") Odaberite Oznake slova Kraj Sub 

Budući da ocjene želimo dodijeliti učenicima na temelju ocjena koje oni unose, prvo moramo definirati ocjene.

Korak 5: Iskaz slučaja provjerite jesu li ocjene manje od 35. Ako je tako, dodijelite vrijednost varijabilnim ocjenama kao “F”.

Kodirati:

 Sub switch_case_example2 () Dim oznake kao cjelobrojni Dim ocjene kao String oznake = InputBox ("Molimo unesite oznake") Odaberite Oznake slučaja Slučaj <35 razreda = "F" Kraj Pod 

Korak 6: Ako su ocjene između 35 i 45, dodijelite vrijednost "D" promjenjivim ocjenama.

Kodirati:

 Sub switch_case_example2 () Dim oznake kao cijeli broj Dim ocjene kao žice oznake = InputBox ("Molimo unesite oznake") Odaberite Oznake slučaja Slučaj je <35 razreda = "F" Slučaj 35 do 45 razreda = "D" Kraj Pod 

Korak 7: Ako se unesene oznake kreću između 46 i 55, vrijednost „C“ treba dodijeliti varijabilnim ocjenama.

Kodirati:

 Pod Switch_case_example2 () Dim oznake kao cjelobrojni Dim ocjene kao String oznake = InputBox ("Molimo unesite oznake") Odaberite Oznake slučaja Slučaj je <35 razreda = "F" Slučaj 35 do 45 razreda = "D" Slučaj 46 do 55 razreda = "C" Kraj Sub 

Korak 8: Kad su ocjene u rasponu 56 do 65, vrijednost dodijeljena varijabilnim ocjenama trebala bi biti “B”.

Kodirati:

 Pod Switch_case_example2 () Dim oznake kao cjelobrojni Dim ocjene kao String oznake = InputBox ("Molimo unesite oznake") Odaberite Oznake slučaja Slučaj je <35 razreda = "F" Slučaj 35 do 45 razreda = "D" Slučaj 46 do 55 razreda = Slučaj "C" 56 do 65 razreda = "B" Kraj Pod 

Korak 9: Za ocjene između 66 i 75, ocjena treba biti "A".

Kodirati:

 Pod Switch_case_example2 () Dim oznake kao cjelobrojni Dim ocjene kao String oznake = InputBox ("Molimo unesite oznake") Odaberite Oznake slučaja Slučaj je <35 razreda = "F" Slučaj 35 do 45 razreda = "D" Slučaj 46 do 55 razreda = Slučaj "C" 56 do 65 razreda = "B" Slučaj 66 do 75 razreda = "A" Kraj Pod 

Korak 10: Ako unesene ocjene premašuju 75, varijabli ocjene treba dodijeliti vrijednost kao "A +"

Kodirati:

 Sub switch_case_example2 () Dim oznake kao cijeli broj Dim ocjene kao žice oznake = InputBox ("Molimo unesite oznake") Odaberite Oznake slučaja Slučaj je 75 ocjena = "A +" Kraj Pod 

Korak 11: Koristite Kraj Odaberite zatvaranje petlje za odabir slučaja.

Kodirati:

 Pod switch_case_example2 () Dim oznake kao cjelobrojni Dim ocjene kao Oznake stringova = InputBox ("Molimo unesite oznake") Odaberite Oznake slučaja Slučaj je 75 ocjena = "A +" Kraj Odaberite Kraj Sub 

12. korak: Sada moramo provjeriti koja je ocjena povezana s ocjenama koje je student uneo. Da biste to postigli, koristite MsgBox funkciju na takav način da označava postignute ocjene unutar okvira s porukama.

Kodirati:

 Pod switch_case_example2 () Dim oznake kao cijeli broj Dim ocjene kao stringovi oznake = InputBox ("Molimo unesite oznake") Odaberite Oznake slučaja Slučaj je 75 ocjena = "A +" Kraj odabira MsgBox "Stupanj je postignut:" & ocjene Kraj Sub 

Korak 13: Pokrenite ovaj kôd pritiskom na tipku F5 ili Run i možete vidjeti VBA okvir za unos koji traži vrijednost oznake. Upisat ću oznake kao 72 i pritisnuti gumb U redu prisutan na polju za unos. Čim pritisnem gumb U redu unutar okvira za unos, dobit ću okvir s porukom u kojem su naznačene ocjene povezane sa unesenim oznakama.

Ovako možemo koristiti izjavu Switch / Select Case unutar VBA.

Stvari koje treba zapamtiti

  • Switch case zapravo je sinonim za izjavu Select Case u VBA. Nazvani su tako zato što pomoću ove izjave možemo istovremeno prebacivati ​​između različitih izlaza.
  • Ova se izjava može koristiti kao alternativa petlji IF-Else kad god moramo provjeriti tri ili više uvjeta.
  • U redu je ako ne koristite ELSE Case u izvodu Select Case. Međutim, u tom slučaju morate biti sigurni da je barem jedan uvjet istinit u čitavoj petlji.

Preporučeni članci

Ovo je vodič za VBA Switch Case. Ovdje smo raspravljali o tome kako koristiti Izjava o slučaju prebacivanja u Excelu VBA zajedno s praktičnim primjerima i download-ovim Excel predloškom. Možete i pregledati naše druge predložene članke -

  1. VBA kolekcija (primjeri)
  2. VBA IF Izjave | Predlošci Excela
  3. Kako koristiti Excel VBA funkciju sortiranja?
  4. VBA Dok je petlja (primjeri s Excelovim predloškom)
  5. VBA okružje