VBA sklopka - Kako se koristi Izjava o prebacivanju u Excelu VBA?

Sadržaj:

Anonim

Izjava o VBA sklopci Excel

Prebacivanje u VBA slično je odabiru funkciju slučaja. Jedina razlika između njih je da u sklopku moramo pisati mnogo manje kodova u odnosu na odabrani slučaj. Izvod o prebacivanju možemo napisati unutar potproceure ili ga zapisati kao korisnički definiranu funkciju u VBA.

Switch in VBA procjenjuje izraz i daje izlaz na temelju uvjeta za taj izraz. U izjavama odabranih slučajeva, definirali smo slučajeve da ako imamo slučaj rezultat bi trebao biti b i tako dalje. Ovo je trebalo napisati puno kodova za odabir slučaja slučaja, ali u Switchu možemo sve uvjete i izraze spojiti u jednu izjavu, a ne da imamo više izjava slučaja.

Sintaksa izjave preklopnika

Switch izračunava prvi izraz i ako je vrijednost true, vraća vrijednost za izraz, a ako vrijednost za izraz 1 nije istina, nastavlja se za isti izračun za izraz 2, a ako je rezultat istinit, prikazuje se vrijednost 2, ali ako izraz vraćen je lažan, prebacivanje prelazi na drugi izraz.

Dakle, što se događa ako nijedan izraz nije istinit i svi su vraćeni kao Lažni, u tom slučaju dobivamo grešku u pokretanju, osim ako nemamo mogućnost praćenja greške za takav scenarij.

Kako se koristi Izjava o prebacivanju u Excelu VBA?

Ispod su sljedeći primjeri za upotrebu VBA sklopke u Excelu.

Ovdje možete preuzeti Excel predložak VBA Switch Switch - VBA Switch Excel predložak

VBA sklopka - Primjer # 1

Započnimo s osnovnim primjerom kako bismo dobili predodžbu o izvodu VBA switch. Prihvatit ćemo unos od korisnika i na temelju tog unosa definirat ćemo izlaz. Ulazit ćemo s broja 1 do 5 i na temelju unosa imat ćemo unaprijed definirane rezultate, ali ako korisnik unese bilo koji drugi broj osim našeg raspona, morat ćemo riješiti tu pogrešku.

Slijedite dolje navedene korake za korištenje Izjave o prebacivanju u Excelu VBA:

Korak 1: Na vizualnoj kartici basic uđite VB uređivač s kartice programera.

Korak 2: U prozor VB uređivača umetnite novi modul s kartice Umetanje.

Korak 3: Proglasite novi potprocesu u tek kreiranom modulu.

Kodirati:

 Pod uzorak () Kraj Sub 

Korak 4: Proglasite dvije varijable A i B, jednu kao cijeli broj, a drugu kao niz.

Kodirati:

 Pod uzorak () Dim A kao cijeli broj Dim B kao string string Sub 

Korak 5: U varijabli A pohranu vrijednosti daje korisnik pomoću funkcije unosa okvira.

Kodirati:

 Pod uzorak () Dim A kao cijeli broj Dim B kao niz A = InputBox ("Unesite vrijednost", "vrijednost treba biti između 1 do 5") Kraj Pod 

Korak 6: Sada ćemo u varijabli B upotrijebiti izjavu VBA sklopke za ocjenu rezultata prema unosu koji je pružio korisnik.

Kodirati:

 Pod uzorak () Dim A kao cijeli broj Dim B kao niz A = InputBox ("Unesite vrijednost", "vrijednost treba biti između 1 do 5") B = Prekidač (A = 1, "Jedan", A = 2, "Dvije ", A = 3, " Tri ", A = 4, " Četiri ", A = 5, " Pet ") Krajnji sub 

Korak 5: Prikažite vrijednost spremljenu u B pomoću funkcije MSGBOX.

Kodirati:

 Pod uzorak () Dim A kao cijeli broj Dim B kao niz A = InputBox ("Unesite vrijednost", "vrijednost treba biti između 1 do 5") B = Prekidač (A = 1, "Jedan", A = 2, "Dvije ", A = 3, " Tri ", A = 4, " Četiri ", A = 5, " Pet ") MsgBox B Kraj pot 

Korak 6: Pokrenite gornji kôd pritiskom na tipku F5 i on od nas traži da unesemo cijeli broj. Unesite broj 3 i pritisnite ok za prikaz rezultata.

Korak 7: Sada ponovo pokrenimo kod i upisujemo broj 6 i vidimo rezultat koji smo dobili.

Dobivamo pogrešku u vremenu pokretanja jer u našoj izjavi za prebacivanje ne postoji izraz koji bi definirao 6. Dakle, u takvim scenarijima moramo imati neko prevladavajuće postupanje s pogreškama.

Korak 8: Da biste prevladali ovu pogrešku u vremenu pokretanja, deklarirajte drugu varijablu Var kao varijantu.

Kodirati:

 Pod uzorak () Dim A kao cijeli broj Dim B kao niza Dim var kao varijanta A = InputBox ("Unesite vrijednost", "vrijednost treba biti između 1 do 5") B = Prekidač (A = 1, "Jedan", A = 2, "Dva", A = 3, "Tri", A = 4, "Četiri", A = 5, "Pet") MsgBox B Kraj pot 

9. korak: Prije naše izjave o prebacivanju koristite on on error goto izjavu, tako da ako kôd pronađe pogrešku, on zna kamo otići.

Kodirati:

 Pod uzorak () Dim A kao cijeli broj Dim B kao niza Dim var kao varijanta A = InputBox ("Unesite vrijednost", "vrijednost treba biti između 1 do 5") Pogreška GoTo var B = Switch (A = 1, "One ", A = 2, " Dva ", A = 3, " Tri ", A = 4, " Četiri ", A = 5, " Pet ") MsgBox B Kraj pot 

Korak 10: Sada definirajte što će se dogoditi ako kod dođe do pogreške,

Kodirati:

 Pod uzorak () Dim A kao cjelobrojni Dim B Kao string niza Varijanta A = InputBox ("Unesite vrijednost", "vrijednost treba biti između 1 do 5") Pogreška GoTo var B = Switch (A = 1, "One ", A = 2, " Two ", A = 3, " Three ", A = 4, " Four ", A = 5, " Five ") MsgBox B var: MsgBox" Uneli ste nevažeći broj "Nastavi Sljedeći kraj Pod 

Korak 11: Ponovo pokrenimo kod pritiskom na F5 ili klikom na gumb Play i unosnom vrijednošću 6, a zatim pritisnite OK za prikaz konačnog rezultata u slučaju da izjava prekidača naiđe na pogrešku.

VBA sklopka - Primjer # 2

Za ovaj primjer, u listu 1 imam podatke koji sadrže naziv nekih filmova i njihovo trajanje u minutama. Na temelju njihove duljine koju želim definirati je film kratak ili super dug. Pogledajte podatke u nastavku.

Slijedite dolje navedene korake za korištenje Izjave prebacivanja u Excelu VBA:

Korak 1: Počnimo s istim modulom i započnite s definiranjem drugog podprocedura na sljedeći način.

 Sub Sample1 () Kraj Sub 

2. korak: Deklarirajte dvije varijable A i B, jednu kao cijeli broj, a niz niz kao što slijedi,

 Sub Uzorak1 () Dim A kao cijeli broj Dim B kao string string Sub 

Korak 3: Sada u varijabli A pohranimo vrijednost duljine filma za bilo koji film.

 Pod uzorak1 () Dim A kao cijeli broj Dim B kao niz A = domet ("A3"). Offset (0, 1) .Value End Sub 

Korak 4: Sada u varijabli B upotrijebimo izjavu VBA sklopke za definiranje scenarija za svaku duljinu filma.

 Pod uzorkom1 () Dim A kao cijeli broj Dim B kao niz A = domet ("A3"). Pomak (0, 1) .Value B = Prekidač (A <= 70, "Prekratak", A <= 100, "Kratki ", A <= 120, " Dugo ", A <= 150, " Predugo ") Kraj Sub 

Korak 5: Što ako je vrijednost veća od 180, trebamo li imati ovdje drugi alat za upravljanje pogreškama ili jednostavno možemo napisati drugi izraz kao True, Value. Kako će se vratiti sve ostale vrijednosti kao što će lažni kod izvršiti ovaj izraz.

 Pod uzorkom1 () Dim A kao cijeli broj Dim B kao niz A = domet ("A3"). Pomak (0, 1) .Value B = Prekidač (A <= 70, "Prekratak", A <= 100, "Kratki ", A <= 120, " Dugo ", A <= 150, " Predugo ", Istina, " dosadno ") Kraj Sub 

Korak 6: Prikažite vrijednost B pomoću funkcije msgbox.

 Pod uzorkom1 () Dim A kao cijeli broj Dim B kao niz A = domet ("A3"). Pomak (0, 1) .Value B = Prekidač (A <= 70, "Prekratak", A <= 100, "Kratki ", A <= 120, " Dugo ", A <= 150, " Predugo ", Istina, " dosadno ") MsgBox B Kraj pot 

Korak 7: Pokrenite kôd pritiskom na tipku F5 ili klikom na gumb Reproduciraj i pogledajte izlaz.

A3 ćelija ima film 2 čija je duljina bila 100 pa je rezultat kratak.

VBA sklopka - Primjer # 3

Upotrijebite naredbu preklopnika za izradu korisnički definirane funkcije za gornji primjer kako bismo je mogli koristiti u našem radnom listu kad god je to potrebno.

Slijedite dolje navedene korake za korištenje Izjave o prebacivanju u Excelu VBA:

Korak 1: U istom modulu deklarirajte funkciju nazvanu filmlength.

 Funkcija FilmLength (produži kao cjelobrojni) kao string string funkcija 

Korak 2: Sada koristite izraz VBA Switch da biste definirali parametre na temelju duljine kako slijedi,

 Funkcija FilmLength (dužina cijelog broja) kao gudački filmLength = preklopnik (dužina <= 70, "prekratka", dužina <= 100, "kratka", dužina <= 120, "duga", dužina <= 150, "predugo", Točno, "Dosadno") Završna funkcija 

Korak 3: Sada idemo na radni list na kojem smo imali svoje podatke, upišite = FilmLength (

Korak 4: Možemo vidjeti da naša funkcija tamo daje argument kao vrijednosti u ćeliji B2.

Korak 5: Nakon primjene formule pritisnite enter.

Korak 6: Sada povucite funkciju do ćelije C10 i pogledajte rezultat.

Stvari koje treba zapamtiti

  • Switch funkcija procjenjuje izraz u njemu. Ako je prvi izraz ocijenjen istinitim, onda ne procjenjuje ostale izraze.
  • Ako nijedan izraz nije istinit, vraća grešku u vremenu pokretanja.
  • Moramo imati alata za upravljanje pogreškama u iskazu ili izrazu, tako da ako se svaki izraz vrati lažan, ne možemo naići na grešku u vremenu pokretanja.
  • Prekidač je sličan odabiru izjavu slučaja.

Preporučeni članci

Ovo je vodič za VBA prekidač. Ovdje raspravljamo o tome kako koristiti preklopnu izjavu u excelu VBA zajedno s nekoliko praktičnih primjera i preuzeti Excel predložak. Možete i pregledati naše druge predložene članke -

  1. Korištenje VBA InStr funkcije
  2. Excel SWITCH funkcija
  3. VBA slučajni broj
  4. CONCATENATE funkcija u Excelu