VBA-kytkin - Kuinka käyttää vaihtolauseketta Excel VBA: ssa?

Sisällysluettelo:

Anonim

Excel VBA -vaihtoehto

Kytkin VBA: ssa on samanlainen kuin tapaustoiminnon valinta. Ainoa ero näiden välillä on se, että meidän on kirjoitettava paljon vähemmän koodeja kytkimessä verrattuna valitaksesi tapauksen. Voimme kirjoittaa kytkinlausekkeen alaprosessin sisällä tai kirjoittaa sen käyttäjän määrittämäksi funktioksi VBA: ssa.

Kytkin VBA: ssa arvioi lausekkeen ja antaa tuloksen kyseisen lausekkeen olosuhteiden perusteella. Valituissa tapauslausunnoissa määrittelimme tapaukset, että jos meillä on tapaus, tuloksen pitäisi olla b ja niin edelleen. Tämä edellytti paljon koodien kirjoittamista valitulle tapauslauselmalle, mutta kytkimessä voimme yhdistää kaikki ehdot ja lausekkeet yhteen lauseeseen sen sijaan, että olisi useita tapauslausuntoja.

Vaihtolauseen syntaksi

Kytkin laskee ensimmäisen lausekkeen ja jos arvo on totta, se palauttaa lausekkeen arvon, ja jos lausekkeen 1 arvo ei ole totta, se jatkaa samaa laskentaa lausekkeelle 2 ja jos tulos on totta, arvo 2 näytetään, mutta jos lauseke palautetaan on väärä, kytkin siirtyy toiseen lausekkeeseen.

Joten mitä tapahtuu, jos mikään lausekkeista ei ole totta ja kaikki ne palautetaan väärin, saamme tällöin ajoaikavirheen, ellei meillä ole ennalta ehkäisevää virheiden käsittelyä tällaisessa tilanteessa.

Kuinka käyttää vaihtolauseketta Excel VBA: ssa?

Alla on erilaisia ​​esimerkkejä VBA-kytkinlausekkeen käyttämisestä Excelissä.

Voit ladata tämän VBA Switch Excel -mallin täältä - VBA Switch Excel Template

VBA-kytkin - esimerkki # 1

Aloitetaan perus esimerkillä saadaksesi käsitys VBA-kytkinlausunnosta. Otamme käyttäjän syötteen ja määrittelemme tuon perusteella tulosteen. Otamme syötteen numeroista 1-5 ja syötteen perusteella meillä on ennalta määritetyt tulokset, mutta jos käyttäjä syöttää jonkin muun numeron kuin alueemme, meidän on käsiteltävä tämä virhe.

Noudata alla olevia vaiheita käyttääksesi vaihtolauseketta Excel VBA: ssa:

Vaihe 1: Kirjoita visuaalisen perusvälilehden VB-editori kehittäjän välilehdeltä.

Vaihe 2: Aseta uusi moduuli VB Editor -ikkunassa Lisää-välilehdestä.

Vaihe 3: Julkaise uusi osaprosessori juuri luomassa uudessa moduulissa.

Koodi:

 Alinäyte () Loppu alaosaan 

Vaihe 4: Ilmoita kaksi muuttujaa A ja B, toinen kokonaislukuna ja toinen merkkijonona.

Koodi:

 Alinäyte () himmentää A kokonaislukuna himmentää B merkkijonon lopuna 

Vaihe 5: Tallenna muuttujaan A arvot, jotka käyttäjä antaa syöttöruudun avulla.

Koodi:

 Alinäyte () Himmenee A kokonaislukuna Himmennä B Kuten merkkijono A = InputBox ("Syötä arvo", "arvon tulisi olla välillä 1-5") Loppu alaosaan 

Vaihe 6: Nyt muuttujassa B käytämme VBA-kytkinlauseketta arvioidaksesi tuloksen käyttäjän antaman syötteen perusteella.

Koodi:

 Alinäyte () Himmennetään A kokonaislukuna Himmennyksenä B merkkijonona A = InputBox ("Syötä arvo", "arvon tulisi olla välillä 1-5") B = Kytkin (A = 1, "Yksi", A = 2, "kaksi" ", A = 3, " kolme ", A = 4, " neljä ", A = 5, " viisi ") End Sub 

Vaihe 5: Näytä kohtaan B tallennettu arvo MSGBOX-toiminnolla.

Koodi:

 Alinäyte () Himmennetään A kokonaislukuna Himmennyksenä B merkkijonona A = InputBox ("Syötä arvo", "arvon tulisi olla välillä 1-5") B = Kytkin (A = 1, "Yksi", A = 2, "kaksi" ", A = 3, " kolme ", A = 4, " neljä ", A = 5, " viisi ") MsgBox B End Sub 

Vaihe 6: Suorita yllä oleva koodi painamalla F5-näppäintä ja se pyytää meitä syöttämään kokonaisluvun. Anna numero 3 ja paina ok nähdäksesi tuloksen.

Vaihe 7: Noudata nyt uutta koodia ja kirjoita numero 6 ja katso saatu tulos.

Saamme ajoaikavirheen, koska kytkinlausekkeessa ei ole lauseketta, joka määrittäisi 6. Joten sellaisissa tilanteissa meillä on oltava jonkin verran ennalta ehkäisevää virheiden käsittelyä.

Vaihe 8: Voit välttää tämän ajoaikavirheen ilmoittamalla toisen muuttujan Var Variantiksi.

Koodi:

 Alinäyte () Himmenee A kokonaislukuna Himmennä B merkkijonona himmennä variaattorina A = InputBox ("Kirjoita arvo", "arvon tulisi olla välillä 1-5") B = Kytkin (A = 1, "Yksi", A = 2, "kaksi", A = 3, "kolme", ​​A = 4, "neljä", A = 5, "viisi") MsgBox B End Sub 

Vaihe 9: Ennen kytkinlauseketta käytä päällä olevaa virheilmoitusta, jotta jos koodi löytää virheen, se tietää minne mennä.

Koodi:

 Alinäyte () Himmenee A kokonaislukuna Himmennä B merkkijonona himmennä variaattorina A = InputBox ("Syötä arvo", "arvon tulisi olla välillä 1-5") On Error GoTo var B = Kytkin (A = 1, "Yksi") ", A = 2, " kaksi ", A = 3, " kolme ", A = 4, " neljä ", A = 5, " viisi ") MsgBox B End Sub 

Vaihe 10: Määritä nyt, mitä tapahtuu, jos koodi kohtaa virheen,

Koodi:

 Alinäyte () Himmenee A kokonaislukuna Himmennä B merkkijonona himmennä variaattorina A = InputBox ("Syötä arvo", "arvon tulisi olla välillä 1-5") On Error GoTo var B = Kytkin (A = 1, "Yksi") ", A = 2, " kaksi ", A = 3, " kolme ", A = 4, " neljä ", A = 5, " viisi ") MsgBox B var: MsgBox" Olet syöttänyt virheellisen numeron "Jatka seuraavaa loppua Sub 

Vaihe 11: Nyt suoritetaan koodi uudelleen painamalla F5 tai napsauttamalla Toista-painiketta ja syöttöarvoa 6 ja sitten painamalla OK nähdäksesi lopputuloksen, jos kytkimen lausunto kohtaa virheen.

VBA-kytkin - esimerkki 2

Tätä esimerkkiä varten minulla on arkin 1 tiedot, jotka sisältävät joidenkin elokuvien nimen ja niiden keston minuutteina. Niiden pituuden perusteella, jonka haluan määritellä, on elokuva lyhyt tai erittäin pitkä. Katso alla olevat tiedot.

Noudata alla olevia vaiheita käyttääksesi vaihtolauseketta Excel VBA: ssa:

Vaihe 1: Aloitetaan samasta moduulista ja aloitetaan määrittelemällä toinen aliohjelma seuraavasti.

 Alinäyte1 () Loppu alaosa 

Vaihe 2: Ilmoita kaksi muuttujaa A ja B, toinen kokonaislukuna toisena merkkijonona seuraavasti:

 Alinäyte1 () himmenee A kokonaislukuna himmentää B merkkijonon lopuna 

Vaihe 3: Nyt muuttujaan A tallennetaan minkä tahansa elokuvan elokuvan pituuden arvo.

 Alinäyte1 () Himmennetään A kokonaislukuna Himmennyksenä B merkkijonona A = Alue ("A3"). Poikkeama (0, 1) .Arvo Loppu Sub 

Vaihe 4: Käytämme nyt muuttujassa B VBA-kytkinlausetta määritelläksesi, mikä skenaario olisi jokaiselle elokuvan pituudelle.

 Alinäyte1 () Himmennetään A kokonaislukuna Himmennetään B Jonoona = Alue ("A3"). Poikkeama (0, 1) .Arvo B = kytkin (A <= 70, "liian lyhyt", A <= 100, "lyhyt") ", A <= 120, " pitkä ", A <= 150, " liian pitkä ") End Sub 

Vaihe 5: Entä jos arvo on suurempi kuin 180, jos meillä olisi täällä toinen virhekäsittelijä tai voimme yksinkertaisesti kirjoittaa toisen lausekkeen True, Value. Koska kaikki muut arvot palautetaan, väärä koodi suorittaa tämän lausekkeen.

 Alinäyte1 () Himmennetään A kokonaislukuna Himmennetään B Jonoona = Alue ("A3"). Poikkeama (0, 1) .Arvo B = kytkin (A <= 70, "liian lyhyt", A <= 100, "lyhyt") ", A <= 120, " pitkä ", A <= 150, " liian pitkä ", totta, " tylsä ​​") End Sub 

Vaihe 6: Näytä B : n arvo msgbox-toiminnolla.

 Alinäyte1 () Himmennetään A kokonaislukuna Himmennetään B Jonoona = Alue ("A3"). Poikkeama (0, 1) .Arvo B = kytkin (A <= 70, "liian lyhyt", A <= 100, "lyhyt") ", A <= 120, " pitkä ", A <= 150, " liian pitkä ", totta, " tylsä ​​") MsgBox B End Sub 

Vaihe 7: Suorita koodi painamalla F5-näppäintä tai napsauttamalla Toista-painiketta ja nähdäksesi tulosteen.

A3-solussa on elokuva 2, jonka pituus oli 100, joten ulostulo on lyhyt.

VBA-kytkin - esimerkki 3

Anna kytkinlausekkeen tehdä käyttäjän määrittelemä toiminto yllä olevalle esimerkille, jotta voimme käyttää sitä laskentataulukoissamme aina tarvittaessa.

Noudata alla olevia vaiheita käyttääksesi vaihtolauseketta Excel VBA: ssa:

Vaihe 1: Samassa moduulissa ilmoita toiminto, jota kutsutaan filmipituudeksi.

 Toiminto FilmLength (pituus kokonaislukuna) merkkijonon lopputehtävänä 

Vaihe 2: Käytä nyt VBA Switch -käskyä parametrien määrittelemiseen pituuden perusteella seuraavasti:

 Toiminto FilmLength (Leng kokonaislukuna) Kuten String FilmLength = Kytkin (Leng <= 70, "liian lyhyt", Leng <= 100, "Lyhyt", Leng <= 120, "Long", Leng <= 150, "Too Long", Totta, "Poraaminen") Lopputoiminto 

Vaihe 3: Nyt siirrytään taulukkoon, jolla meillä oli tietomme, type = FilmLength (

Vaihe 4: Voimme nähdä, että funktiomme antaa argumentin arvoina solussa B2.

Vaihe 5: Kun olet käyttänyt kaavaa, paina Enter.

Vaihe 6: Vedä nyt toiminto soluun C10 ja katso tulos.

Muistettavat asiat

  • Kytkentätoiminto arvioi lausekkeen siinä. Jos ensimmäinen lauseke arvioidaan totta, se ei arvioi muita lausekkeita.
  • Jos yksikään lausekkeesta ei ole totta, se palauttaa ajonaikavirheen.
  • Meillä täytyy olla virhekäsittelijä kytkinlausekkeessa tai lausekkeessa, jotta jos jokainen lauseke palautetaan väärin, emme kohtaa ajonaikavirhettä.
  • Kytkin on samanlainen kuin valittu tapauslausunto.

Suositellut artikkelit

Tämä on VBA-kytkimen opas. Tässä keskustellaan siitä, kuinka kytkinlausetta voidaan käyttää excel VBA -versiossa, sekä joitain käytännöllisiä esimerkkejä ja ladattavaa excel-mallia. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -

  1. VBA InStr -toiminnon käyttö
  2. Excel-KYTKIN-toiminto
  3. VBA-satunnaisluku
  4. CONCATENATE-toiminto Excelissä