Excel VBA-bryterveske
Switch Case eller Select Case er en uttalelse som er tilgjengelig i VBA for å gjennomføre logiske tester der den fungerer som et alternativ til IF-THEN-uttalelse i VBA. Ved å bruke en Switch Case kan vi gjennomføre flere logiske tester og komme frem til resultater basert på flere resultater.
Nedenfor er syntaksen til uttalelsen fra Switch Case / Select Case.
Kode:
Velg Case Case 1 Verdi hvis Case 1 Test er TRUE Case 2 Value hvis Case 2 Test er TRUE Case 3 Verdi hvis Case 3 Test er TRUE Case Else Value hvis ingen av de ovennevnte tilfellene er TRUE End Select
: Hva er den logiske testen? Vi må gå inn i testen her.
Sak 1, sak 2: I hvert tilfelle må vi teste flere logiske tester i excel.
Hvordan bruke VBA Switch Case Statement?
Eksempel 1
I celle A1 har jeg angitt verdien som 550.
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement_2.png.webp)
Vi vil teste dette nummeret ved å bruke sakserklæringer og komme til statusen "Mer enn 500" hvis verdien er mer enn 500, ellers kommer vi til statusen "Mindre enn 500".
Åpne VBA Sub-prosedyren først.
Kode:
Sub Switch_Case () Slutt Sub
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement_3.png.webp)
Åpne Select Case Statement i VBA og oppgi den logiske testområdet (“A2”)
Kode:
Sub Switch_Case () Velg Case Range ("A2"). Verdi End Sub
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement_4.png.webp)
Skriv inn den første saken da saken er> 500.
Kode:
Sub Switch_Case () Velg Case Range ("A2"). Value Case Is> 500 End Sub
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement_5.png.webp)
Hvis denne saken er SANN, hva er resultatet vi trenger i celle B, 2, dvs. "Mer enn 500".
Kode:
Sub Switch_Case () Velg Case Range ("A2"). Value Case Is> 500 Range ("B2"). Verdi = "Mer enn 500" End Sub
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement_6.png.webp)
Nå sitter vi igjen med bare ett resultat, dvs. uttalelse fra Case Else. Hvis den første saken er FALSK, trenger vi resultatet som "Mindre enn 500".
Kode:
Sub Switch_Case () Velg saksområde ("A2"). Verdisak er> 500 rekkevidde ("B2"). Verdi = "Mer enn 500" Saks annet område ("B2"). Verdi = "Mindre enn 500" Slutt sub
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement_7.png.webp)
Lukk nå uttalelsen ved å bruke "End Select" -uttalelsen.
Kode:
Sub Switch_Case () Velg saksområde ("A2"). Verdisak er> 500 rekkevidde ("B2"). Verdi = "Mer enn 500" Saks annet område ("B2"). Verdi = "Mindre enn 500" Sluttvalg Slutt Sub
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement_8.png.webp)
Kjør koden vi får verdien i celle B2.
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement.gif)
Siden verdien i celle A2 er større enn 500, fikk vi resultatet som "Mer enn 500".
Eksempel 2
Nå vil vi se å bruke flere caseeksempler. Nedenfor er poengsummen til studenten i eksamen.
![](https://cdn.know-base.net/9301396/vba_switch_case_examples_to_use_excel_vba_switch_statement_9.png.webp)
Med denne poengsummen må vi komme til karakter, for det nedenfor er kriteriene.
- Resultat> = 85, Karakter = “Dist”
- Resultat> = 60, Karakter = “Først”
- Resultat> = 50, Karakter = “Andre”
- Resultat> = 35, Karakter = “Bestått”
- Om noe annet, karakter = "mislykkes."
Kode:
Sub Switch_Case1 ()
Dim score as Ingerger Score = 65 Velg Case Score Case Is> = 85 MsgBox "Dist" Case Is> = 60 MsgBox "First" Case Is> = 50 MsgBox "Second" Case Is> = 35 MsgBox "Pass" Case Else MsgBox " Fail "End Select End Sub
Kjør denne koden. Vi får karakteren i meldingsfeltet.
![](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.
- Hvis ingen logiske tester er SANTE, kan du bare sende det alternative resultatet i CASE ELSE-setningen og alltid lukke utsagnet med ordet “END SELECT”.