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, joudumme ehkä käyttämään useita If-lauseita ja jotka voivat olla tylsiä, kun siitä tulee monimutkaisempi, kun enemmän If-lauseita annetaan 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 on luokiteltu loogiseksi toiminnoksi, joka on sisäänrakennettu Exceliin. Tämän toiminnon käyttämiseksi koodi syötetään Visual Basic -editorin kautta, joka näkyy 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 =,, =.

  • Loppu Valitse: Se sulkee rakentajan valinnan tapausmäärittelyn
  • Lausekkeet: 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 Select Case -ominaisuus ei toimi normaaleissa laskentataulukoissa. Meidän on käytettävä Visual Basic -vaihtoehtoa Kehittäjä-välilehdessä. Kehittäjätilassa luodut käyttäjän määrittelemät toiminnot ja koodaukset pienten sovellusten ajamiseksi 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, on luotava makro sijoittamalla komentopainikkeen hallinta Excel-taulukoon.
  • Sen jälkeen napsauta hiiren kakkospainikkeella komentopainiketta ja valitse näkymäkoodivaihtoehto
  • Sijoita koodi komentopainiketoiminnon ja lopetusalueen 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
Voit ladata tämän VBA Select Case Excel -mallin täältä - VBA Select Case Excel -malli

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ä tapauslauseketta ja case else -lausetta käytetään vertaamaan testilauseketta 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 esitetään.

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

Tämä esimerkki osoittaa Is-avainsanan käytön valitulla kirjaimella.

Koodi:

 Alitarkistusnumero () Dim NumInput kuin kokonaisluku NumInput = InputBox ("Anna numero") Valitse tapaus NumInput Case Is = 200 MsgBox "Annoit numeron, joka on suurempi tai yhtä suuri kuin 200" End Select End Sub 

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

Valittu tapaus käytettiin 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:

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

Koodausta kehitetään kuvakaappauksen mukaisesti ja tulos näytetään seuraavasti, kun parillinen luku syötetään.

Esimerkki # 6 - Sisäkkäiset valitut tapaukset

Pesiminen on hyödyllinen ominaisuus valitussa tapauksessa, ja tapa, jolla 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ä päivän, viikonpäivän tai viikonlopun testaamiseksi. Lukuun ottamatta tapausta 1 ja 7 jäljellä olevat ovat arkipäiviä (Huomaa: tapaus 1 on sunnuntai ja tapaus 7 on lauantai)

Muistettavaa

  • Is-avainsana, jota käytetään lausunnossa [tapaus] 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 suorittaa 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.

$config[zx-auto] not found$config[zx-overlay] not found