VBA lüliti ümbris - Kuidas kasutada lülitusjuhtumite avaldust rakenduses Excel VBA?

Lang L: none (table-of-contents):

Anonim

Exceli VBA lüliti ümbris

Kui peame VBA lülitusjuhtumis tingimust loogiliselt kontrollima või analüüsima ja sama koodil põhinevad erinevad koodiridad kasutama, kasutame IF-Else tingimuslauset. Sarnaselt on veel üks lause Lülitusjuhtum, mis on laiemalt tuntud kui käsk Vali juhtum, mis saab kontrollida või analüüsida paljusid loogilisi tingimusi ja käivitada nendel põhinevad koodiridad. Kui teil on kontrollimiseks vaja kolme või enamat loogilist tingimust, on soovitatav kasutada tavapärase IF-Else väljavõtte asemel Vali juhtum või Lülita juhtum ümber. Sest see muudab VBA-koodi sellistel puhkudel pestud IF-Else lausete asemel kiiremaks ja arusaadavamaks.

Lülita juhtum / vali juhtum

VBA lülitus või üksikjuhtum töötab sarnaselt IF-Else väljavõtetega. See kontrollib mitut loogilist / tingimuslikku avaldist erinevate väärtuste (juhtumite) suhtes. Niipea, kui mõni juhtum vastab tingimusele (saab antud tingimusele tõeks), täidab süsteem selle juhtumi ja ülejäänud juhtumeid ignoreeritakse. Kui antud tingimusel on kaks juhtumit, täidetakse ülimuslikkuse seadusega ainult esimene .

Lülitus- / valimisjuhu süntaks on järgmine:

Select Case
Case value_1
Code to Execute when Expression = value_1
Case value_2
Code to Execute when Expression = value_2
Case value_3
Code to Execute when Expression = value_3
.
.
.
Case value_n
Code to Execute when Expression = value_n
Case Else
Code to Execute when no case value meets the expression/logical test.
End Select

Kus,

Lause: see on avaldis, mida me tahtsime kontrollida või analüüsida, kasutades erinevaid juhtumi väärtusi.

väärtus_1, väärtus_2, väärtus_3, … on loogilised tingimused, mida on vaja antud avalduse jaoks kontrollida.

Kuidas kasutada juhtumite vahetamise avaldust rakenduses Excel VBA?

Õpime kasutama VBA koodi abil Excelis kommentaare Switch Case.

Selle VBA Switch Case Exceli malli saate alla laadida siit - VBA Switch Case Exceli mall

VBA lüliti juhtum - näide nr 1

Kontrollime, kas antud arv on alla 100 või üle 100. Selleks toimige järgmiselt.

1. samm: sisestage uus moodul Visual Basic Editori (VBE). Klõpsake vahekaarti Insert > valige moodul.

2. samm: määratlege sisestatud moodulis uus alamprotsess, mis mahutab teie makro.

Kood:

 Alamjaotuse_juht_näide1 () lõpp alam 

3. samm: määratlege uus muutuja nimega usrInpt, mis mahutab kasutaja väärtust. Kasutage funktsiooni VBA InputBox, et luua sisendkast, mis võtab kasutaja väärtused muutuja usrInpt kaudu.

Kood:

 Sub switch_case_example1 () Tühjenda usrInpt Nagu täisarv usrInpt = InputBox ("Palun sisestage oma väärtus") End Sub 

4. samm: kasutage käsku Vali juhtum ja sisestage muutuja usrInpt kaudu kasutaja antud väärtus. See on väljend, mida peame kontrollima loogiliste tingimustega.

Kood:

 Sub switch_case_example1 () Tuhm usrInpt Nagu täisarv usrInpt = InputBox ("Palun sisestage oma väärtus") Valige Case usrInpt End Sub 

5. samm: sisestage juhtumiavalduse alla esimene kontrollitav loogiline test järgmiselt.

Kood:

 Sub switch_case_example1 () Tuhm usrInpt Nagu täisarv usrInpt = InputBox ("Palun sisestage oma väärtus") Valige juhtum usrInpt Juhtum on <100 End Sub 

6. samm: kasutage funktsiooni MsgBox väljundsõnumi lisamiseks, kui tõsi on juhul, kui juhtum on <100.

Kood:

 Sub switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox ("Palun sisestage oma väärtus") Valige juhtum usrInpt Case on <100 MsgBox "Esitatud arv on väiksem kui 100" End Sub 


7. samm: nüüd peame esitama käivitatava avalduse, kui usrInpt väärtus on suurem kui 100. Selle saavutamiseks lisage juhtum ja MsgBox.

Kood:

 Sub switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox ("Palun sisestage oma väärtus") Valige juhtum usrInpt Case is 100 MsgBox "Esitatud arv on suurem kui 100" End Sub 

8. samm: mis siis, kui kasutaja esitatud väärtus on täpselt 100? Selle jaoks pole ühtegi juhtumit lisatud. Lisame selle, mis annab kasutajale teate, et tema sisestatud väärtus on 100.

Kood:

 Sub switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox ("Palun sisestage oma väärtus") Valige Case usrInpt Case on 100 MsgBox "Esitatud arv on suurem kui 100" Case Is = 100 MsgBox "Esitatud arv on 100" End Sub 

9. samm. Peame lõpetama valiku Select Case. Loodud silmuse lõpetamiseks kasutage nuppu End Select .

Kood:

 Sub switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox ("Palun sisestage oma väärtus") Valige Case usrInpt Case is 100 MsgBox "Esitatud arv on suurem kui 100" Case Is = 100 MsgBox "Esitatud arv on 100" End Select End Alam 

10. samm. Nüüd käivitage see kood, vajutades nuppu Käivita või F5. Ilmub uus hüpikaken, kus palutakse väärtust kontrollida. Sisestan väärtuse 110 ja vajutan sisendkasti nuppu OK. Kuna sisestatud arv on suurem kui 100, ilmub kohe, kui klõpsan nuppu OK, minu ekraanile uus teade, mis ütleb: “Esitatud number on suurem kui 100”.

VBA lüliti juhtum - näide nr 2

Oletame, et tahame jäädvustada õpilaste hinde nende hinnete põhjal. Vaadake järgmisi samme, kuidas seda saavutada.

1. samm: määratlege uus alamprotseduur nimega switch_case_example2 .

Kood:

 Sub switch_case_example2 () End Sub 

2. samm: määratlege kaks uut muutujat - märgid täisarvuna ja klassid stringina, kasutades loodud alamprotseduuris Dim-avaldust.

Kood:

 Sub switch_case_example2 () Dim tähistab kui täisarvu Dim hindeid kui String End Sub 

3. samm: kasutage funktsiooni VBA InputBox, mille kaudu kasutaja saab muutujate märkide väärtuse sisestada.

Kood:

 Sub switch_case_example2 () Hämardatud tähised täisarvuna Hämardatud hinded stringimärkidena = InputBox ("Palun sisestage märgid") End Sub 

4. samm: kasutage käsku Vali juhtum ja sisestage kontrollitavaks avaldiseks muutuja märgid .

Kood:

 Sub switch_case_example2 () Hämardatud tähised täisarvuna Hämardatud hinded stringimärkidena = InputBox ("Palun sisestage märgid") Valige kohtuasja märgid End Sub 

Kuna tahame õpilastele hindeid määrata nende sisestatud hinnete põhjal, peame kõigepealt hinded määratlema.

5. samm. Kasutage juhtumiväljaannet, et kontrollida, kas hinded on väiksemad kui 35. Kui jah, määrake muutuvatele klassidele väärtus „F”.

Kood:

 Sub switch_case_example2 () Hämardatud tähised täisarvuna Hämardatud hinded stringimärkidena = InputBox ("Palun sisestage märgid") Valige kohtuasja märgid Juhtum on <35 klassi = "F" End Sub 

6. samm: kui märgid jäävad vahemikku 35–45, määrake muutujatele klassidele väärtus „D“.

Kood:

 Sub switch_case_example2 () Hämardatud tähised täisarvuna Hämardatud hinded stringimärkidena = InputBox ("Palun sisestage märgid") Valige kohtuasja märgid Juhtum on <35 klassi = "F" Juhtum 35 kuni 45 klassi = "D" Lõpp Sub 

7. samm: kui sisestatud märgid jäävad vahemikku 46–55, tuleks väärtus „C” määrata muutuvatele klassidele.

Kood:

 Sub switch_case_example2 () Hämardatud tähised täisarvuna Hämardatud hinded stringimärkidena = InputBox ("Palun sisestage märgid") Valige kohtuasja märgid Juhtum on <35 klassi = "F" Juhtum 35 kuni 45 klassi = "D" Juhtum 46 kuni 55 klassi = "C" lõpp-alam 

8. samm: kui märgid on vahemikus 56–65, peaks muutuva hinde väärtus olema B.

Kood:

 Sub switch_case_example2 () Hämardatud tähised täisarvuna Hämardatud hinded stringimärkidena = InputBox ("Palun sisestage märgid") Valige kohtuasja märgid Juhtum on <35 klassi = "F" Juhtum 35 kuni 45 klassi = "D" Juhtum 46 kuni 55 klassi = "C" juhtum 56 kuni 65 klassi = "B" lõpp Sub 

9. samm: hinnete 66–75 korral peaks hinne olema A.

Kood:

 Sub switch_case_example2 () Hämardatud tähised täisarvuna Hämardatud hinded stringimärkidena = InputBox ("Palun sisestage märgid") Valige kohtuasja märgid Juhtum on <35 klassi = "F" Juhtum 35 kuni 45 klassi = "D" Juhtum 46 kuni 55 klassi = "C" juhtum 56 kuni 65 klassi = "B" juhtum 66 kuni 75 klassi = "A" End Sub 

10. samm: kui sisestatud hindeid on rohkem kui 75, tuleks klasside muutujale anda väärtus A +

Kood:

 Sub switch_case_example2 () Hämardatud tähised täisarvuna Hämardatud hinded stringimärkidena = InputBox ("Palun sisestage märgid") Valige kohtuasja märgid Juhtum on 75 klassi = "A +" End Sub 

11. samm: kasutage nuppu Lõpetage Valige juhtumi silmus.

Kood:

 Sub switch_case_example2 () Hämardatud tähised täisarvuna Hämardatud hinded stringimärkidena = InputBox ("Palun sisestage märgid") Valige kohtuasja märgid Juhtum on 75 klassi = "A +" End Select End End Sub 

12. samm: nüüd peame kontrollima, milline on hinne, mis on seotud õpilase sisestatud hinnetega. Selle saavutamiseks kasutage funktsiooni MsgBox nii, et see tähistab saavutatud hindeid sõnumikasti sees.

Kood:

 Sub switch_case_example2 () Hämardatud tähised täisarvuna Hämardatud hinded stringimärkidena = InputBox ("Palun sisestage märgid") Valige kohtuasja märgid Juhtum on 75 klassi = "A +" End Select MsgBox "Saavutatud hinne on:" & klassid Lõpp Sub 

13. samm. Käivitage see kood, vajutades nuppu F5 või Käivita. Näete VBA sisendkasti, kus küsitakse märgiväärtust. Ma sisestan märgid numbriks 72 ja vajutan sisestuskastil asuvat nuppu OK. Niipea, kui ma vajutan sisendkasti sees olevat nuppu OK, kuvatakse teade, mis näitab sisestatud märkidega seotud hindeid.

Nii saame kasutada VBA-s sisestusklahvi Lülita / Vali juhtum.

Asjad, mida meeles pidada

  • Väiketähtede vahetamine on tegelikult VBA-s oleva üksuse Select Case sünonüüm. Seda on nimetatud nii, kuna selle väite abil saame lülituda erinevate väljundite vahel korraga.
  • Seda väidet saab kasutada IF-Else ahela alternatiivina alati, kui meil on kontrollida vähemalt kolme tingimust.
  • See on OK, kui te ei kasuta käsku Vali juhtum ELSE juhtum. Kuid sel juhul peate veenduma, et vähemalt üks tingimus on kogu silmuse vältel tõene.

Soovitatavad artiklid

See on VBA lüliti juhtumi juhend. Siin arutleme, kuidas kasutada juhtumite vahetamise avaldust rakenduses Excel VBA koos praktiliste näidete ja allalaaditava excelimalliga. Võite vaadata ka meie teisi soovitatud artikleid -

  1. VBA kollektsioon (näited)
  2. VBA IF-avaldused | Exceli mallid
  3. Kuidas kasutada Exceli VBA sortimisfunktsiooni?
  4. VBA Kuigi silmus (näited Exceli malliga)
  5. VBA keskkond