Excel VBA -kytkinkotelo
Switch Case tai Select Case on lausunto, joka on saatavana VBA: ssa loogisten testien suorittamiseen, jos se toimii vaihtoehtona IF-THEN-käskyille VBA: ssa. Kytkentätapausta käyttämällä voimme suorittaa useita loogisia testejä ja saada tuloksia useiden tulosten perusteella.
Alla on Switch Case / Select Case -lausekkeen syntaksi.
Koodi:
Valitse Tapaus 1 -arvo, jos Tapaus 1 -testi on TOSI Tapauksen 2 arvo, jos Tapaus 2 -testi on TOSI Tapauksen 3 arvo, jos Tapaus 3 -testi on TOSI Tapauksen Muu arvo, jos mikään yllä olevista tapauksista ei ole TOSI Loppu Valitse
: Mikä on looginen testi? Meidän on ilmoitettava testi täällä.
Tapaus 1, tapaus 2: Jokaisessa tapauksessa meidän on testattava useita loogisia testejä Excelissä.
Kuinka käyttää VBA-kytkimen tapauslauseketta?
Esimerkki 1
Solussa A1 olen kirjoittanut arvoksi 550.

Testaamme tämän numeron vaihtotapauslausekkeiden avulla ja tulemme tilaan "Yli 500", jos arvo on yli 500, tai muuten saavutamme tilan "Alle 500".
Avaa ensin VBA Sub -menettely.
Koodi:
Alakytkin_tapaus () Lopeta ali

Avaa Valitse tapaustilanne VBA: ssa ja anna looginen testialue ("A2"). -Arvo
Koodi:
Sub Switch_Case () Valitse tapausalue ("A2"). Arvo End Sub

Syötä nyt ensimmäinen tapaus, koska tapaus on> 500.
Koodi:
Sub Switch_Case () Valitse tapausalue ("A2"). Arvo Case on> 500 End Sub

Jos tämä tapaus on TOSI, mitä tarvitsemme tuloksen solussa B, 2, eli "Enemmän kuin 500".
Koodi:
Sub Switch_Case () Valitse tapausalue ("A2"). Arvo Case on> 500 Range ("B2"). Arvo = "yli 500" End Sub

Nyt meillä on vain yksi tulos, eli Case Else -lausunto. Jos ensimmäinen tapaus on EPÄTOSI, tarvitsemme tuloksen arvoksi ”Alle 500”.
Koodi:
Sub Switch_Case () Valitse tapausalue ("A2"). Arvotapauksen arvo on> 500 Range ("B2"). Arvo = "Yli 500" Case Range muu ("B2"). Arvo = "Alle 500" End Sub

Sulje nyt lause käyttämällä ”End Select” -lausetta.
Koodi:
Alakytkimen_tapa () Valitse tapausalue ("A2"). Arvotapaus on> 500 alue ("B2"). Arvo = "Yli 500" tapauksen muu alue ("B2"). Arvo = "Alle 500" loppu Valitse End Sub

Suorita koodi, jonka arvo saadaan solusta B2.

Koska solun A2 arvo on yli 500, saimme tuloksen arvoksi ”Yli 500”.
Esimerkki 2
Nyt näemme käyttävän enemmän tapausesimerkkejä. Alla on opiskelijan pisteet tentissä.

Tämän pistemäärän avulla meidän on päästävä palkkaluokkaan, sillä alla olevat kriteerit ovat.
- Pisteet> = 85, luokka = “Dist”
- Pisteet> = 60, Arvosana = “Ensimmäinen”
- Pisteet> = 50, Arvosana = “Toinen”
- Pisteet> = 35, Arvosana = "Hyvä"
- Jos jotain muuta Grade = "Fail".
Koodi:
Alakytkin_tapa1 ()
Hämärä pisteet kokonaislukuna = 65 Valitse tapauspiste Tapaus on> = 85 MsgBox "Dist" -tapaus on> = 60 MsgBox "Ensimmäinen" tapaus on> = 50 MsgBox "Toinen" tapaus on> = 35 MsgBox "Hyväksy" Tapaus muu MsgBox " Fail "End Valitse End Sub
Suorita tämä koodi. Saamme arvosanan viestiruutuun.

Since the score is more than 60 but less than 85 grade is “First.”
Example #3
We have seen how to find a grade for one student, what about finding a grade for more than one student. Below are the scores of students.

Since more than one student is involved, we need to enclose FOR NEXT loop in VBA. Below is the VBA code.
Code:
Sub Switch_Case2() Dim k As Integer For k = 2 To 7 Select Case Cells(k, 2).Value Case Is>= 85 Cells(k, 3).Value = "Dist" Case Is>= 60 Cells(k, 3).Value = "First" Case Is>= 50 Cells(k, 3).Value = "Second" Case Is>= 35 Cells(k, 3).Value = "Pass" Case Else Cells(k, 3).Value = "Fail" End Select Next k End Sub
Run this code. We will get grades.

Things to Remember
- Switch Case is often referred to as “Select Case.”
- The switch is a function, not a statement.
- Jos mikään looginen testi ei ole TOSI, voit yksinkertaisesti siirtää vaihtoehtoisen tuloksen CASE ELSE -käskyyn ja sulkea lause aina sanalla “END SELECT”.