Kuinka käyttää Select Case Statementia VBA: ssa? (Esimerkkejä)

Excel VBA Valitse tapauslauseke

Select Case on korvike useiden if-lauseiden kirjoittamiselle VBA: ssa, kun koodissa on monia ehtoja, saatamme joutua käyttämään useita If-lauseita ja mikä voi olla tylsää, kun siitä tulee monimutkaisempi, kun enemmän If-lauseita tarjotaan, valitse tapauslauseke määrittelemme kriteerit erilaisiksi tapauksiksi ja tuloksiksi niiden mukaan.

SELECT CASE auttaa päätöksentekoprosessissa. Tässä vain yhtä lauseketta käytetään arvioimaan erilaisia ​​mahdollisia tapauksia. Useita ehtoja analysoidaan helposti kehitetyn koodin suorittamiseksi. Tätä tapauslauseketta käytetään korvaamaan lauseke ELSE IF: lle lausekkeiden arvioimiseksi. Se luokitellaan loogiseksi funktioksi, joka on sisäänrakennettu Exceliin. Tämän toiminnon käyttämiseksi koodi syötetään Visual Basic -editorissa, joka on kehittäjä-välilehdessä.

Selitys

Valitse tapaus käyttää erilaisia ​​lausekeryhmiä. Seuraavaa syntaksia on noudatettava, jotta tätä voidaan käyttää tehokkaasti. Se on samanlainen kuin muilla ohjelmointikielillä, kuten Java, C # ja PHP, esitetty kytkinlauseke.

Valitse (Tapaus) Lauseke testattavaksi (Tapaus) Luettelo lausekelausekkeista (Tapaus 1, Tapaus 2, Tapaus 3 ja niin edelleen …) Tapaus Muut (Muut lausunnot) Loppu Valitse

Selitys valittuun tapaukseen liittyville termeille annetaan seuraavasti.

Lauseke testausta varten: Sitä tarvitaan arvioimaan erityyppiset tiedot, kuten kokonaisluku, merkkijono, looginen luku, objekti ja merkki.

Lausekeluettelo: Lausekkeet luodaan tapauskohtaan, jotta löydetään syötetyn syötteen tarkka täsmäys. Jos useampi kuin kaksi lauseketta, ne erotetaan pilkkuoperaattorilla. 'Is' on avainsana, jota verrataan kahta lauseketta käyttämällä Excelin loogisia operaattoreita, kuten =,, =.

  • End Select: Se sulkee konstruktorin Select Case -määrityksen
  • Lausunnot: Lausekkeet kehitetään tapauksen avulla lausekkeiden suorittamiseksi, jotka arvioidaan analysoimaan, onko vastaavia lauseita
  • Muut lauseet : Se on testata muu lause, kun testauslauseke ei vastaa yhtään tapausta.

Kuinka käyttää VBA Select Case Statementia?

VBA: n tarjoama valitsetapaustoiminto ei toimi normaaleissa laskentataulukoissa. Meidän on käytettävä Visual Basic -vaihtoehtoa Kehittäjä-välilehdessä. Käyttäjän määrittelemät toiminnot ja koodaus luodaan kehittäjätilassa toimimaan pieniä sovelluksia liiketoiminta-alueella.

Sitä käytetään tilanteissa, joissa excel-lauseita on sisäkkäin. Se on paras vaihtoehto käsitellä erilaisia ​​tapauksia. Tämän vaihtoehdon tehokas käyttö edellyttää seuraavia tehtäviä.

  • Ensinnäkin sen on luotava makro sijoittamalla komentopainikkeen ohjaus Excel-arkkiin.
  • Sen jälkeen napsauta hiiren kakkospainikkeella komentopainiketta ja valitse näkymäkoodivaihtoehto.
  • Sijoita koodi komentopainikkeen toiminnon ja loppuosan väliin.
  • Virheenkorjaus koodissa mahdollisten syntaksivirheiden tunnistamiseksi.
  • Käännä koodi löytääksesi käännösvirheet ohjelman suorittamiseksi onnistuneesti
  • Muuta tuloarvoja havaitaksesi erilaisia ​​tuloksia vastaavuuskriteerien perusteella

Esimerkki # 1 - Yksinkertainen tapaustapa

Tämän esimerkin tarkoituksena on ymmärtää yksinkertainen valinta tapaus löytää vastaava arvo.

Koodi:

Yksityinen alavalikkoesimerkki () Dim A kokonaislukuna A = 20 Valitse tapaus A Tapaus 10 MsgBox "Ensimmäinen tapaus on sovitettu!" Tapaus 20 MsgBox "Toinen tapaus on sovittu!" Tapaus 30 MsgBox "Kolmas tapaus on valittu Select Case!" Tapaus 40 MsgBox "Neljäs tapaus on valittu Select Case!" Case Else MsgBox "Yksikään tapaus ei vastaa!" End Valitse End Sub

Tulos:

Neljän tapauslausekkeen ja case else -lausekkeen avulla testilauseketta verrataan eri tapauksiin. Tässä esimerkissä toinen tapaus sovitetaan muuttujan A kanssa 20.

Esimerkki # 2 - Vastaanottaja-avainsana arvosanojen testaamiseksi

Tämä esimerkki selittää Vastaanottaja-avainsanan käytön valitulla kirjaimella.

Koodi:

Yksityinen alavalintaesimerkki () Hämärtää opiskelijamerkit kokonaislukuna opiskelijamerkit = InputBox ("Syötä merkit välillä 1 - 100?") Valitse tapauksen opiskelijamerkit Tapaus 1 - 36 MsgBox "Epäonnistui!" Tapaus 37 - 55 MsgBox "C-luokka" Tapaus 56 - 80 MsgBox "B-luokka" Tapaus 81 - 100 MsgBox "A-luokka" Asia muu MsgBox "Alueen ulkopuolella" Loppu Valitse Loppu

Tulos:

Avainsana Vastaanottaja on hyödyllinen määritettäessä joukko testilausekkeita. On hyödyllistä löytää opiskelijan saama arvosana vertaamalla eri tapauksia. Ohjelman suorittamisen jälkeen meidän on annettava arvo saadaksesi tuloksen.

Lähtö näytetään viestiruudun kanssa, kuten yllä olevassa kuvakaappauksessa näkyy.

Esimerkki # 3 - Is-avainsanan käyttäminen Select Case -toiminnon kanssa

Tämä esimerkki havainnollistaa Is-avainsanan käyttöä valitulla kirjaimella.

Koodi:

Alitarkistusnumero () Dim NumInput kokonaislukuna NumInput = InputBox ("Syötä numero") Valitse tapaus NumInput Case Is = 200 MsgBox "Annoit numeron, joka on suurempi tai yhtä suuri kuin 200" Loppu Valitse Loppu ali

Is-avainsana auttaa löytämään vastaavia arvoja vain tapauslausekkeilla. Se vertaa testilauseketta annettuun tuloon tuotoksen tuottamiseksi.

Lähtö saadaan kuvan osoittamalla tavalla, jos syötetty arvo on yli 200

Esimerkki # 4 - komentopainikkeella arvojen muuttamiseksi

Valittua tapausta käytetään myös komentopainikkeen kanssa luomalla makro.

Koodi:

Aliväri () Hämärä väri merkkijonona = alue ("A1"). Arvo Valitse kotelon väri Kotelon väri "punainen", "vihreä", "keltainen" alue ("B1"). Arvo = 1 tapaus "valkoinen", "musta" "," Ruskea "alue (" B1 "). Arvo = 2 Tapaus" Sininen "," Taivaansininen "alue (" B1 "). Arvo = 3 Kotelon muu alue (" B1 "). Arvo = 4 Loppu Valitse Lopeta ala

Kuten ohjelmassa on esitetty, tulo otetaan laskentataulukon soluista. Ohjelma suoritetaan napsauttamalla ActiveX-ohjaimista käytettyä komentopainiketta. Tässä pilkkuerotinta käytetään yhdistämään testilausekkeet.

Kun solun A1 arvo muuttuu, se johtaa muutokseen B1-solussa myös suorittamalla excel-makron komentopainikkeella. Voit viitata alla olevaan kuvakaappaukseen: -

Esimerkki # 5 - Tarkista pariton tai parillinen luku

Tämä esimerkki numeron tarkistamiseksi on parillinen tai pariton.

Koodi:

Ala CheckOddEven () CheckValue = InputBox ("Syötä numero") Valitse tapaus (CheckValue Mod 2) = 0 Tapaus True MsgBox "Numero on parillinen" Case False MsgBox "Numero on pariton" End Select End Sub

Koodausta kehitetään, kuten kuvakaappauksessa esitetään, ja tulos näytetään seuraavasti, kun edes numero syötetään.

Esimerkki # 6 - Sisäkkäiset valitut tapaukset

Pesiminen on hyödyllinen ominaisuus valitussa tapauksessa, ja miten se tehdään, näytetään.

Koodi:

AlitestiViikkopäivä () Valitse tapaus Viikkopäivä (nyt) Tapaus 1, 7 Valitse tapaus Viikonpäivä (nyt) Tapaus 1 MsgBox "Tänään on sunnuntai" Tapaus Muu MsgBox "Tänään on lauantai" Loppu Valitse tapaus Muu MsgBox "Tänään on viikonpäivä" Loppu Valitse Loppu Sub

Tässä valittu tapaus määritetään toisen valitun tapauksen sisällä testataksesi päivä, viikonpäivä tai viikonloppu. Jäljellä olevat tapaukset 1 ja 7 lukuun ottamatta kaikki ovat arkipäiviä (Huomaa: tapaus 1 on sunnuntai ja tapaus 7 on lauantai)

Muistettavaa

  • (Isot) -hakusana, joka käytetään lausekkeessa (asia) ja (tapaus muu), eivät ole yhtä suuria.
  • ActiveX-ohjainta tulisi käyttää ohjelman suorittamisessa komentopainikkeella, joka ottaa syötteen ja näyttää lähdön Excel-taulukon solualueella.
  • On vaikea ajaa ohjelmia VBA: ssa, jos makrot ovat pois käytöstä ja mahdollistavat aina makrot, jotta saat parhaat tulokset.
  • VBA on isot ja pienet kirjaimet, ja tulos tulisi syöttää tarkasti parempien tulosten saamiseksi.

Mielenkiintoisia artikkeleita...