Exceli VBA lüliti juhtum
Switch Case või Select Case on avaldus, mis on VBA-s saadaval loogiliste testide läbiviimiseks, kus see töötab alternatiivina IF-THEN avaldusele VBA-s. Lüliti juhtumi abil saame läbi viia mitu loogilist testi ja saada tulemusi mitme tulemuse põhjal.
Allpool on lause Case / Select Case süntaks.
Kood:
Valige juhtumi 1 väärtus, kui juhtumi 1 test on tõene Juhtumi 2 väärtus, kui juhtumi 2 test on tõene Juhtumi 3 väärtus, kui juhtumi 3 test on tõene juhtumi muu väärtus, kui ükski ülaltoodud juhtumitest pole tõene
: Mis on loogiline test? Peame siin testi sisestama.
Juhtum 1, juhtum 2: Igal juhul peame Excelis testima mitut loogilist testi.
Kuidas kasutada VBA Switchi juhtumi avaldust?
Näide 1
Lahtrisse A1 olen sisestanud väärtuseks 550.
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement_2.png.webp)
Testime seda numbrit lülitusjuhtude avalduste abil ja jõuame olekusse „Rohkem kui 500”, kui väärtus on suurem kui 500, muidu jõuame olekusse „Alla 500”.
Esmalt avage protseduur VBA Sub.
Kood:
Sub Switch_Case () Lõpp Sub
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement_3.png.webp)
Avage VBA-s Select Case Statement ja sisestage loogilise testivahemiku („A2“) väärtus
Kood:
Sub Switch_Case () Valige juhtumivahemik ("A2"). Väärtus End Sub
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement_4.png.webp)
Nüüd sisestage esimene juhtum, kuna juhtum on> 500.
Kood:
Sub Switch_Case () Valige juhtumivahemik ("A2"). Väärtuse juhtum on> 500 End Sub
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement_5.png.webp)
Kui see juhtum on tõsi, siis millist tulemust me lahtris B, 2 vajame, st "Rohkem kui 500".
Kood:
Sub Switch_Case () Valige juhtumivahemik ("A2"). Väärtuse juhtum on> 500 vahemik ("B2"). Väärtus = "Rohkem kui 500" End Sub
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement_6.png.webp)
Nüüd on meil ainult üks tulemus, st Case Else avaldus. Kui esimene juhtum on VÄÄR, siis vajame tulemust kui “Alla 500”.
Kood:
Sub Switch_Case () Valige juhtumivahemik ("A2"). Väärtuse juhtum on> 500 vahemik ("B2"). Väärtus = "Rohkem kui 500" juhtumi muu vahemik ("B2"). Väärtus = "Alla 500" Lõpp alam
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement_7.png.webp)
Nüüd sulgege avaldus, kasutades lauset “End Select”.
Kood:
Sub Switch_Case () Valige juhtumivahemik ("A2"). Väärtuse juhtum on> 500 vahemik ("B2"). Väärtus = "Rohkem kui 500" juhtumi muu vahemik ("B2"). Väärtus = "Alla 500" Lõppvalik Lõpeta alam
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement_8.png.webp)
Käivitage kood, mille väärtuse saame lahtrist B2.
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement.gif)
Kuna lahtris A2 on väärtus suurem kui 500, saime tulemuseks väärtuse „Rohkem kui 500”.
Näide 2
Nüüd näeme rohkem juhtuminäiteid. Allpool on üliõpilase tulemus eksamil.
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement_9.png.webp)
Selle skooriga peame jõudma klassi, sest allpool on kriteeriumid.
- Hinne> = 85, hinne = „kaugus“
- Hinne> = 60, hinne = „esimene“
- Hinne> = 50, hinne = „teine“
- Hinne> = 35, hinne = „pass”
- Kui midagi muud Hinne = "Ebaõnnestunud".
Kood:
Alamlüliti_juht1 ()
Hämardav skoor täisarvuna = 65 Valige juhtumi skoor Juhtum on> = 85 MsgBox "Dist" juhtum on> = 60 MsgBox "Esimene" juhtum on> = 50 MsgBox "Teine" juhtum on> = 35 MsgBox "Pass" Juhtum on muu MsgBox " Fail "Lõpeta Vali Lõpeta alam
Käivitage see kood. Hinde saame teatekasti.
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement_2.gif)
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.
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement_10.png.webp)
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.
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement_3.gif)
Things to Remember
- Switch Case is often referred to as “Select Case.”
- The switch is a function, not a statement.
- Kui ükski loogiline test pole TÕENE, saate CASE ELSE lauses alternatiivse tulemuse lihtsalt edastada ja sulgeda lause alati sõnaga “END SELECT”.