Exceli VBA lülituse avaldus
Lüliti VBA-s on sarnane juhtumi funktsiooni valimisele. Ainus erinevus nende vahel on see, et peame juhtumi valimiseks kirjutama lülitisse palju vähem koode. Võime kirjutada lülitusavalduse alamprotseduuri sisse või kirjutada selle kasutaja määratud funktsioonina VBA-s.
Lüliti VBA-s hindab avaldis ja annab väljundi selle avalduse tingimuste põhjal. Valitud juhtumilausetes määratlesime juhtumid, et kui meil on juhtum, peaks tulemus olema b ja nii edasi. Selleks oli vaja kirjutada palju juhtumiväljavõtete koode, kuid jaotises Switch saame mitme tingimuse ja avalduse asemel liita kõik tingimused ja avaldised ühes avalduses.
Lülituse avalduse süntaks
Switch arvutab esimese avalduse ja kui väärtus on tõene, tagastab see avaldise väärtuse ja kui avaldise 1 väärtus pole tõene, toimub sama arvutus avalduse 2 korral ja kui tulemus on tõene, kuvatakse väärtus 2, kuid kui avaldis tagastatakse on vale, lülitub edasi teise avaldise juurde.
Mis juhtub siis, kui ükski avaldis pole tõene ja kõik need tagastatakse valena, saame sellisel juhul käitusaja vea, kui meil pole sellise stsenaariumi korral ennetavat tõrkekäsitlust.
Kuidas kasutada lülituse avaldust Exceli VBA-s?
Allpool on toodud erinevad näited VBA Switchi avalduse kasutamiseks Excelis.
Selle VBA Switch Exceli malli saate alla laadida siit - VBA Switch Exceli mallVBA-lüliti - näide nr 1
Alustame põhinäitega, et saada aimu VBA lüliti avaldusest. Me võtame kasutajalt sisendi ja selle sisendi põhjal määratleme väljundi. Sisendiks võetakse numbrid 1 kuni 5 ja sisendi põhjal on meil eelnevalt määratletud tulemused, kuid kui kasutaja sisestab mõne muu numbri kui meie vahemik, peame selle tõrkega hakkama saama.
Excel VBA lülituse avalduse kasutamiseks toimige järgmiselt.
1. samm: sisestage visuaalse põhiakna arendaja vahekaardil VB-redaktor.
2. samm: sisestage VB redigeerimise aknas vahekaardilt Insert uus moodul.
3. samm: kuulutage äsja loodud moodulis uus alamprotsess.
Kood:
Alamproov () Lõpp Alam
4. samm: kuulutage kaks muutujat A ja B, üks täisarvuna ja teine stringina.
Kood:
Alamproov () Dim A kui täisarv Dim B kui stringi lõpp Sub
5. samm: muutuja A korral salvestage väärtus kasutaja poolt sisendkasti funktsiooni kasutades.
Kood:
Alamproov () Hämardub A täisarvuna Dim B kui string A = InputBox ("Sisestage väärtus", "väärtus peaks olema vahemikus 1 kuni 5") End Sub
6. samm: Nüüd kasutame muutuja B osas VBA-lülituse avaldust tulemuse hindamiseks kasutaja esitatud sisendi alusel.
Kood:
Alamvalim () Hämardub A täisarvuna Dim B kui string A = InputBox ("Sisestage väärtus", "väärtus peaks olema vahemikus 1 kuni 5") B = Lüliti (A = 1, "Üks", A = 2, "Kaks" ", A = 3, " kolm ", A = 4, " neli ", A = 5, " viis ") lõpp-alam
5. samm . Funktsiooni MSGBOX abil kuvage B-s talletatud väärtus.
Kood:
Alamvalim () Hämardub A täisarvuna Dim B kui string A = InputBox ("Sisestage väärtus", "väärtus peaks olema vahemikus 1 kuni 5") B = Lüliti (A = 1, "Üks", A = 2, "Kaks" ", A = 3, " kolm ", A = 4, " neli ", A = 5, " viis ") MsgBox B End Sub
6. samm: käivitage ülaltoodud kood, vajutades klahvi F5, ja see palub meil sisestada täisarv. Sisestage number 3 ja tulemuse nägemiseks vajutage ok.
7. samm. Nüüd käivitage kood uuesti ja sisestage number 6 ja vaadake saadud tulemust.
Saame käitusaja vea, kuna meie lülitusavalduses pole väljendit, mis defineeriks 6. Nii et sellistes stsenaariumides peab meil olema mõni ennetav tõrkekäsitlus.
8. samm: selle käitusaja vea kõrvaldamiseks kuulutage variandiks mõni muu muutuja Var.
Kood:
Alamproov () Dim A kui täisarv Dim B kui string Dim varia Variant A = InputBox ("Sisestage väärtus", "väärtus peaks olema vahemikus 1 kuni 5") B = Lüliti (A = 1, "Üks", A = 2, "kaks", A = 3, "kolm", A = 4, "neli", A = 5, "viis") MsgBox B End Sub
9. samm: enne meie lülitusväljavõtte kasutamist kasutage sisselogimisvea avaldust, nii et kui kood leiab tõrke, teab ta, kuhu minna.
Kood:
Alamvalim () Hämardub A kui täisarv Dim B kui string Dim var variandina A = InputBox ("Sisestage väärtus", "väärtus peaks olema vahemikus 1 kuni 5") Vea korral GoTo var B = Lüliti (A = 1, "Üks") ", A = 2, " kaks ", A = 3, " kolm ", A = 4, " neli ", A = 5, " viis ") MsgBox B End Sub
10. samm: määratlege nüüd, mis juhtub, kui kood ilmneb tõrkes,
Kood:
Alamvalim () Hämardub A kui täisarv Dim B kui string Dim var variandina A = InputBox ("Sisestage väärtus", "väärtus peaks olema vahemikus 1 kuni 5") Vea korral GoTo var B = Lüliti (A = 1, "Üks") ", A = 2, " kaks ", A = 3, " kolm ", A = 4, " neli ", A = 5, " viis ") MsgBox B var: MsgBox" Sisestasite vale numbri "Jätka järgmise lõpu alamkatet
11. samm. Nüüd käivitame koodi uuesti, vajutades F5 või klõpsates nuppu Esita ja sisestades sisestusväärtuse 6 ning seejärel vajutades OK, et näha lõplikku tulemust juhuks, kui lüliti avalduses ilmneb tõrge.
VBA-lüliti - näide nr 2
Selle näite jaoks on mul lehel 1 andmed, mis sisaldavad mõne filmi nime ja nende kestust minutites. Nende pikkuse põhjal tahan määratleda, kas film on lühike või ülipikk. Vaadake allpool olevaid andmeid.
Excel VBA lülituse avalduse kasutamiseks toimige järgmiselt.
1. samm: alustame samast moodulist ja alustame teise alamprotseduuri defineerimisega järgmiselt.
Alamproov1 () Lõpeta alamvalim
2. samm: kuulutage kaks muutujat A ja B, üks täisarvuna, stringina järgmiselt,
Alamnäide1 () Hämardub täisarvuna Dim B kui stringikeel Sub
3. samm. Nüüd salvestage muutuja A korral ühe filmi filmide pikkuse väärtus.
Alamvalim1 () Hämardub A täisarvuna Dim B kui string A = vahemik ("A3"). Nihk (0, 1) .Väärtus End Sub
4. samm: Kasutagem nüüd muutuja B osas VBA-lülituse avaldust, et määratleda stsenaarium iga filmi pikkuse jaoks.
Alamvalim1 () Hämardub A täisarvuna Dim B kui string A = vahemik ("A3"). Nihk (0, 1) .Väärtus B = lüliti (A <= 70, "Liiga lühike", A <= 100, "Lühike" ", A <= 120, " Pikk ", A <= 150, " Liiga pikk ") lõpp Sub
5. samm. Mis siis, kui väärtus on suurem kui 180, peaks meil siin olema mõni teine veakäsitleja või saame lihtsalt kirjutada mõne muu avalduse kui True, Value. Kuna kõik muud väärtused tagastatakse, täidab seda avaldust vale kood.
Alamvalim1 () Hämardub A täisarvuna Dim B kui string A = vahemik ("A3"). Nihk (0, 1) .Väärtus B = lüliti (A <= 70, "Liiga lühike", A <= 100, "Lühike" ", A <= 120, " Pikk ", A <= 150, " Liiga pikk ", tõsi, " Igav ") End Sub
6. samm: kuvage funktsiooni mbox abil väärtus B.
Alamvalim1 () Hämardub A täisarvuna Dim B kui string A = vahemik ("A3"). Nihk (0, 1) .Väärtus B = lüliti (A <= 70, "Liiga lühike", A <= 100, "Lühike" ", A <= 120, " Pikk ", A <= 150, " Liiga pikk ", tõene, " Igav ") MsgBox B End Sub
7. samm: käivitage kood, vajutades klahvi F5 või klõpsates nuppu Esita ja vaadake väljundit.
A3 lahtris on film 2, mille pikkus oli 100, nii et väljund oli lühike.
VBA-lüliti - näide nr 3
Ülaltoodud näite jaoks kasutaja määratud funktsiooni tegemiseks lubage kasutada lülitusväljavõtet, et saaksime seda vajadusel oma töölehel kasutada.
Excel VBA lülituse avalduse kasutamiseks toimige järgmiselt.
1. samm: deklareerige samas moodulis funktsioon, mida nimetatakse filmi pikkuseks.
Funktsioon FilmLength (pikkus kui täisarv) kui stringi lõppfunktsioon
2. samm: kasutage parameetri pikkuse põhjal järgmiselt VBA-lüliti avaldust:
Funktsioon FilmLength (pikkus täisarvuna) kui String FilmLength = Lüliti (Leng <= 70, "Liiga lühike", Leng <= 100, "Lühike", Leng <= 120, "Pikk", Leng <= 150, "Liiga pikk", Tõsi, "igav") lõppfunktsioon
3. samm: Lähme töölehele, kus meil olid meie andmed, tüüp = FilmLength (
4. samm: näeme, et meie funktsioon annab lahtris B2 väärtustena argumendi.
5. samm: Pärast valemi rakendamist vajutage sisestusklahvi.
6. samm: lohistage see funktsioon lahtrisse C10 ja vaadake tulemust.
Asjad, mida meeles pidada
- Funktsioon Lüliti hindab avaldist selles. Kui esimest avaldist hinnatakse tõeseks, ei hinda see teisi avaldisi.
- Kui ükski avaldis pole tõene, tagastab käitamisaja vea.
- Meil peab lülitusavalduses või avaldises olema veakäsitleja, nii et kui iga avaldis tagastatakse valeks, ei ilmne käivitusaja viga.
- Lüliti on sarnane juhtumiavalduse valimisega.
Soovitatavad artiklid
See on VBA Switchi juhend. Siin arutatakse, kuidas kasutada lülitusavaldust Exceli VBA-s koos mõnede praktiliste näidete ja allalaaditava Exceli malliga. Võite vaadata ka meie teisi soovitatud artikleid -
- Funktsiooni VBA InStr kasutamine
- Exceli LÜLITI funktsioon
- VBA juhuslik arv
- CONCATENATE funktsioon Excelis