Excel VBA kapcsoló nyilatkozat
A VBA-ban történő váltás hasonló az esetfunkció kiválasztásához. Az egyetlen különbség közöttük az, hogy sokkal kevesebb kódot kell írni egy kapcsolóban az eset kiválasztásához. Írhatunk egy kapcsoló nyilatkozatot egy alprocesszoron belül, vagy megírhatjuk felhasználói függvényként a VBA-ban.
A VBA kapcsoló értéke egy kifejezést értékeli, és a kifejezés feltételei alapján adja meg a kimenetet. A kiválasztott esetnyilatkozatokban meghatároztuk az eseteket, hogy ha esetünk van, akkor az eredménynek b-nek kell lennie. Ehhez sok kódot kellett írni az egyes esetekhez, de a kapcsolóban az összes feltételt és kifejezést egyetlen állításba egyesíthetjük, ahelyett, hogy több esetnyi állítást tartalmaznánk.
A kapcsoló állítás szintaxisa
A Switch kiszámítja az első kifejezést, és ha az érték igaz, akkor visszaadja a kifejezés értékét, és ha az 1. kifejezés értéke nem igaz, akkor ugyanazt a számítást folytatja a 2. kifejezésre, és ha az eredmény igaz, akkor a 2. érték jelenik meg, de ha ha a kifejezés visszatér, akkor hamis, a kapcsoló átmegy egy másik kifejezésre.
Tehát mi történik, ha egyik kifejezés sem igaz, és mindegyik tévesnek adódik vissza, akkor futásidejű hibát kapunk, hacsak nincs megelőző hibakezelés egy ilyen forgatókönyvhöz.
Hogyan lehet használni a váltási nyilatkozatot az Excel VBA alkalmazásban?
Az alábbiakban bemutatjuk a VBA kapcsoló nyilatkozatának az Excelben történő használatához szükséges különféle példákat.
Itt letöltheti ezt a VBA Switch Excel sablont - VBA Switch Excel sablonVBA kapcsoló - 1. példa
Kezdjük az alapvető példával, hogy képet kapjunk a VBA kapcsolóról. A felhasználótól a felhasználót vesszük figyelembe, és ennek alapján definiáljuk a kimenetet. Az 1-től 5-ig terjedő bemenetet veszünk, és a bemenet alapján előre megadott eredményekkel rendelkezünk, de ha a felhasználó a tartományunkon kívüli más számot ír be, akkor ezt a hibát kell kezelnünk.
Kövesse az alábbi lépéseket a Switch Statement használatához az Excel VBA-ban:
1. lépés: A Visual basic lapon lépjen be a VB szerkesztőbe a fejlesztő lapon.
2. lépés: A VB Editor ablakban helyezze be az új modult a Beszúrás fülbe.
3. lépés: Nyújtsa be az új alprocesszort az éppen létrehozott új modulban.
Kód:
Alminta () Alsó rész vége
4. lépés: Jelentsen be két A és B változót, egyet egészként, a másik stringként.
Kód:
Alminta () Dim A egész szám Dim B as string vége Sub
5. lépés: Az A változóban tárolja az értéket, amelyet a felhasználó ad meg a beviteli mező funkció segítségével.
Kód:
Alminta () Halványul A egészként Dim B Húzza A = InputBox ("Írjon be egy értéket", "az értéknek 1-5-ig kell lennie")
6. lépés: Most a B változóban egy VBA kapcsolót használunk, hogy kiértékeljük az eredményt a felhasználó által megadott bemenetek szerint.
Kód:
Alminta () Nem halmaz, egész szám, Halvány, egész H, mint A karakterlánc = InputBox ("Írjon be egy értéket", "az értéknek 1-5-ig kell lennie") B = Kapcsoló (A = 1, "Egy", A = 2, "Két" ", A = 3, " Három ", A = 4, " Négy ", A = 5, " Öt ") End Sub
5. lépés: Az MSGBOX funkcióval jelenítse meg a B. pontban tárolt értéket.
Kód:
Alminta () Nem halmaz, egész szám, Halvány, egész H, mint A karakterlánc = InputBox ("Írjon be egy értéket", "az értéknek 1-5-ig kell lennie") B = Kapcsoló (A = 1, "Egy", A = 2, "Két" ", A = 3, " Három ", A = 4, " Négy ", A = 5, " Öt ") MsgBox B End Sub
6. lépés: Futtassa a fenti kódot az F5 billentyű lenyomásával, és az egész szám megadását kéri tőlünk. Adjon meg egy 3-as számot, és nyomja meg az ok gombot az eredmény megjelenítéséhez.
7. lépés: Most futtassuk újra a kódot, írjuk be a 6-os számot, és nézzük meg az eredményt.
Megkapjuk a futási idő hibáját, mivel a kapcsolónyilatkozatunkban nincs kifejezés a 6 meghatározására. Tehát az ilyen esetekben szükségünk van valamilyen megelőző hibakezelésre.
8. lépés: A futási idő hiba kiküszöbölése érdekében nyújtsa be a Var változót egy másik változóval.
Kód:
Alminta () Dim A, egész szám Dim B, mint karakterlánc Dim var mint A változat = InputBox ("Írjon be egy értéket", "értéknek 1-5-ig kell lennie") B = Kapcsoló (A = 1, "Egy", A = 2, "Két", A = 3, "Három", A = 4, "Négy", A = 5, "Öt") MsgBox B End Sub
9. lépés: A váltási nyilatkozatunk használata előtt használja a goto on on error parancsot, így ha a kód hibát talál, akkor tudja, hová kell lépnie.
Kód:
Alminta () Dim A, egész szám Dim B, mint karakterlánc Dim var mint A változat = InputBox ("Írjon be egy értéket", "értéknek 1-5-ig kell lennie") Be Hiba GoTo var B = Kapcsoló (A = 1, "Egy") ", A = 2, " Két ", A = 3, " Három ", A = 4, " Négy ", A = 5, " Öt ") MsgBox B End Sub
10. lépés: Most határozza meg, mi történik, ha a kód hibát észlel,
Kód:
Alminta () Dim A, egész szám Dim B, mint karakterlánc Dim var mint A változat = InputBox ("Írjon be egy értéket", "értéknek 1-5-ig kell lennie") Be Hiba GoTo var B = Kapcsoló (A = 1, "Egy") ", A = 2, " Két ", A = 3, " Három ", A = 4, " Négy ", A = 5, " Öt ") MsgBox B var: MsgBox" Érvénytelen számot adott meg "Folytatás Következő vége al
11. lépés: Most futtassa újra a kódot az F5 megnyomásával, vagy a Play gombra kattintással és a 6. beviteli értékre kattintással, majd nyomja meg az OK gombot a végső eredmény megjelenítéséhez, ha a kapcsoló nyilatkozata hibát észlel.
VBA kapcsoló - 2. példa
Erre a példára az 1. lapon vannak olyan adatok, amelyek tartalmazzák néhány film nevét és időtartamát percben. Hosszuk alapján azt akarom meghatározni, hogy a film rövid vagy szuper hosszú. Vessen egy pillantást az alábbi adatokra.
Kövesse az alábbi lépéseket a Switch Statement használatához az Excel VBA-ban:
1. lépés: Indítsuk el ugyanabban a modulban, és kezdjük azzal, hogy meghatározunk egy másik alprocesszort az alábbiak szerint.
1. alminta () az al
2. lépés: Jegyezzen be két A és B változót, az egyik egész számot, mint a String az alábbiak szerint,
Alminta1 () dim A mint egész egész Dim B mint karakterlánc vége Sub
3. lépés: Most az A változóban tároljuk a filmhossz értékét bármelyik filmnél.
Alminta1 () Dim A egész szám Dim B as string A = Tartomány ("A3") Eltolás (0, 1) .Érérték End Sub
4. lépés: Most, a B változóban, használjunk egy VBA kapcsoló utasítást, hogy meghatározza a forgatókönyvet minden filmhosszra.
Alminta1 () A homályos mint egész szám Dim B mint a karakterlánc A = Tartomány ("A3") Eltolás (0, 1) .B érték = kapcsoló (A <= 70, "Túl rövid", A <= 100, "Rövid" ", A <= 120, " Hosszú ", A <= 150, " Túl hosszú ") End Sub
5. lépés: Mi van akkor, ha az érték meghaladja a 180-at, ha van itt egy másik hibakezelő, vagy egyszerűen írhatunk egy másik kifejezést True, Value-ként. Mivel az összes többi érték visszaadásra kerül, mivel a hamis kód végrehajtja ezt a kifejezést.
Alminta1 () A homályos mint egész szám Dim B mint a karakterlánc A = Tartomány ("A3") Eltolás (0, 1) .B érték = kapcsoló (A <= 70, "Túl rövid", A <= 100, "Rövid" ", A <= 120, " Hosszú ", A <= 150, " Túl hosszú ", Igaz, " Unalmas ") End Sub
6. lépés: Jelenítse meg a B értékét az msgbox funkcióval.
Alminta1 () A homályos mint egész szám Dim B mint a karakterlánc A = Tartomány ("A3") Eltolás (0, 1) .B érték = kapcsoló (A <= 70, "Túl rövid", A <= 100, "Rövid" ", A <= 120, " Hosszú ", A <= 150, " Túl hosszú ", Igaz, " Unalmas ") MsgBox B End Sub
7. lépés: Futtassa a kódot az F5 billentyű megnyomásával vagy a Play gombra kattintással, és nézze meg a kimenetet.
Az A3 cellában van egy 2. film, amelynek hossza 100, tehát a kimenet rövid.
VBA kapcsoló - 3. példa
Hagyjuk, hogy a kapcsoló utasítás használatával készítsünk egy felhasználó által definiált függvényt a fenti példához, hogy szükség esetén bármikor felhasználhassuk a munkalapunkon.
Kövesse az alábbi lépéseket a Switch Statement használatához az Excel VBA-ban:
1. lépés: Ugyanazon modulban deklarálja a filmhossznak nevezett funkciót.
FilmLength (hosszúság egész számként) függvény, mint karakterlánc vége
2. lépés: Most használja a VBA Switch utasítást a hosszúság alapján a következő paraméterek meghatározásához:
Funkció FilmLength (Leng egész számként) Húgos FilmLength = kapcsoló (Leng <= 70, "Túl rövid", Leng <= 100, "Rövid", Leng <= 120, "Hosszú", Leng <= 150, "Túl hosszú", Igaz, "Unalmas") Végfunkció
3. lépés: Most menjünk a munkalapba, ahol rendelkeztek az adatokkal, type = FilmLength (
4. lépés: Láthatjuk, hogy ott van-e függvényünk, amely értékként szolgál a B2 cellában.
5. lépés: A képlet alkalmazása után nyomja meg az enter billentyűt.
6. lépés: Most húzza a függvényt a C10 cellába, és nézze meg az eredményt.
Dolgok, amikre emlékezni kell
- A kapcsoló funkció kiértékeli a kifejezést. Ha az első kifejezést igaznak értékelik, akkor a többi kifejezést nem értékeli.
- Ha egyik kifejezés sem igaz, akkor futási hibát ad vissza.
- Hibakezelőnek kell lennie a kapcsoló utasításban vagy kifejezésben, hogy ha minden kifejezést hamisnak adunk vissza, akkor nem fordul elő futási idő hiba.
- A kapcsoló hasonló az esetkifejezés kiválasztásához.
Ajánlott cikkek
Ez egy útmutató a VBA kapcsolóhoz. Itt megvitassák, hogyan lehet használni a switch utasítást az Excel VBA-ban, néhány gyakorlati példával és letölthető Excel sablonnal együtt. Megnézheti más javasolt cikkeinket -
- A VBA InStr funkció használata
- Excel KAPCSOLÓ funkció
- VBA véletlenszám
- KOCKÁZAT funkció Excelben