VBA-schakelkast - Voorbeelden om Excel VBA Switch-instructie te gebruiken

Inhoudsopgave

Excel VBA-schakelkast

Switch Case of Select Case is een instructie die beschikbaar is in VBA om logische tests uit te voeren waar deze werkt als een alternatief voor de IF-THEN-instructie in VBA. Met behulp van een Switch Case kunnen we meerdere logische tests uitvoeren en tot resultaten komen op basis van meerdere resultaten.

Hieronder vindt u de syntaxis van de instructie Switch Case / Select Case.

Code:

Selecteer Geval Geval 1 Waarde als Geval 1 Test WAAR is Geval 2 Waarde als Geval 2 Test WAAR is Geval 3 Waarde als Geval 3 Test WAAR is Geval Else Waarde als geen van de bovenstaande gevallen WAAR is Einde Selecteer

: Wat is de logische test? We moeten hier de test invoeren.

Geval 1, Geval 2: In elk geval moeten we meerdere logische tests in Excel testen.

Hoe VBA Switch Case Statement te gebruiken?

Voorbeeld 1

In cel A1 heb ik de waarde ingevoerd als 550.

We zullen dit aantal testen met behulp van switchcase-statements en komen tot de status als "Meer dan 500" als de waarde meer is dan 500, anders komen we uit bij de status als "Minder dan 500".

Open eerst de VBA-subprocedure.

Code:

Sub Switch_Case () End Sub

Open Select Case Statement in VBA en geef de logische test Range ("A2") waarde op

Code:

Sub Switch_Case () Selecteer Case Range ("A2") Waarde End Sub

Voer nu het eerste geval in als Case is> 500.

Code:

Sub Switch_Case () Selecteer Case Range ("A2") Waarde Case Is> 500 End Sub

Als dit geval WAAR is, wat is dan het resultaat dat we nodig hebben in cel B, 2, dwz "Meer dan 500".

Code:

Sub Switch_Case () Selecteer Case Range ("A2"). Waarde Case is> 500 Range ("B2"). Value = "Meer dan 500" End Sub

Nu resteren we nog maar één resultaat, namelijk Case Else-instructie. Als de eerste casus FALSE is, hebben we het resultaat nodig als "Minder dan 500".

Code:

Sub Switch_Case () Selecteer Case Range ("A2"). Waarde Case is> 500 Range ("B2"). Value = "Meer dan 500" Case Else Range ("B2"). Value = "Minder dan 500" End Sub

Sluit nu het statement af met het “End Select” statement.

Code:

Sub Switch_Case () Selecteer Case Range ("A2"). Waarde Case Is> 500 Range ("B2"). Value = "More than 500" Case Else Range ("B2"). Value = "Minder dan 500" End Select Einde Sub

Voer de code uit, we krijgen de waarde in cel B2.

Omdat de waarde in cel A2 groter is dan 500, krijgen we het resultaat als "Meer dan 500".

Voorbeeld 2

Nu zullen we meer casusvoorbeelden zien. Hieronder staat de score van de student op het examen.

Met deze score moeten we bij Grade komen, want hieronder staan ​​de criteria.

  • Score> = 85, Grade = "Dist"
  • Score> = 60, cijfer = "eerste"
  • Score> = 50, Cijfer = "Tweede"
  • Score> = 35, Grade = "Pass"
  • Als er iets anders is Grade = "Fail."

Code:

Sub Switch_Case1 ()

 Dim Score As Integer Score = 65 Selecteer Case Score Case Is> = 85 MsgBox "Dist" Case is> = 60 MsgBox "First" Case is> = 50 MsgBox "Tweede" Case is> = 35 MsgBox "Pass" Case Else MsgBox " Fail "End Select End Sub

Voer deze code uit. We krijgen het cijfer in het berichtvenster.

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.
  • Als er geen logische tests TRUE zijn, kunt u eenvoudig het alternatieve resultaat doorgeven in de CASE ELSE-instructie en de instructie altijd afsluiten met het woord "END SELECT".

Interessante artikelen...