VBA-switchväska - Exempel på användning av Excel VBA-switchuttalande

Innehållsförteckning

Excel VBA Switch-fodral

Switch Case eller Select Case är ett uttalande tillgängligt i VBA för att genomföra logiska tester där det fungerar som ett alternativ till IF-THEN-uttalande i VBA. Med hjälp av ett Switch Case kan vi genomföra flera logiska tester och få resultat baserat på flera resultat.

Nedan är syntaxen för Switch Case / Select Case-uttalandet.

Koda:

Välj Fall Fall 1 Värde om Fall 1 Test är SANT Fall 2 Värde om Fall 2 Test är SANT Fall 3 Värde om Fall 3 Test är SANT Fall Annat värde om inget av ovanstående fall är SANT Slut Välj

: Vad är det logiska testet? Vi måste gå in i testet här.

Fall 1, fall 2: I varje fall måste vi testa flera logiska tester i excel.

Hur använder jag VBA Switch Case Statement?

Exempel 1

I cell A1 har jag angett värdet som 550.

Vi kommer att testa det här numret med hjälp av omställningsfall och komma fram till statusen "Mer än 500" om värdet är mer än 500 eller annars kommer vi till statusen "Mindre än 500".

Öppna VBA Sub-proceduren först.

Koda:

Sub Switch_Case () Avsluta Sub

Öppna Select Case Statement i VBA och ange det logiska testintervallet (“A2”)

Koda:

Sub Switch_Case () Välj Case Range ("A2"). Value End Sub

Ange nu det första fallet eftersom ärendet är> 500.

Koda:

Sub Switch_Case () Välj Case Range ("A2"). Value Case Is> 500 End Sub

Om det här fallet är SANT, vad är då resultatet vi behöver i cell B, 2, dvs. ”Mer än 500”.

Koda:

Sub Switch_Case () Välj Case Range ("A2"). Value Case är> 500 Range ("B2"). Värde = "Mer än 500" End Sub

Nu sitter vi kvar med bara ett resultat, dvs. uttalande från Case Else. Om det första fallet är FALSE behöver vi resultatet som "Mindre än 500".

Koda:

Sub Switch_Case () Välj Case Range ("A2"). Value Case Is> 500 Range ("B2"). Värde = "Mer än 500" Case Other Range ("B2"). Value = "Mindre än 500" End Sub

Stäng nu uttalandet med hjälp av "End Select" -uttrycket.

Koda:

Sub Switch_Case () Välj ärendeområde ("A2"). Värde ärende är> 500 intervall ("B2"). Värde = "Mer än 500" Omfattande fallområde ("B2"). Värde = "Mindre än 500" Slutval Avsluta sub

Kör koden så får vi värdet i cell B2.

Eftersom värdet i cell A2 är större än 500 fick vi resultatet som "Mer än 500".

Exempel 2

Nu kommer vi att använda fler fallexempel. Nedan visas studentens poäng i provet.

Med den här poängen måste vi komma till betyg, för det nedan är kriterierna.

  • Poäng> = 85, Betyg = “Dist”
  • Poäng> = 60, Betyg = “Först”
  • Poäng> = 50, Betyg = “Andra”
  • Poäng> = 35, Betyg = “Godkänd”
  • Om något annat är Betyg = “Misslyckas.”

Koda:

Sub Switch_Case1 ()

 Dim poäng som helhetspoäng = 65 Välj fallpoängfall är> = 85 MsgBox "Dist" fall är> = 60 MsgBox "Första" fall är> = 50 MsgBox "andra" fall är> = 35 MsgBox "Pass" fall annars MsgBox " Misslyckas "Avsluta Välj Avsluta sub

Kör den här koden. Vi får betyget i meddelandefältet.

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.
  • Om inga logiska tester är SANTA kan du helt enkelt skicka det alternativa resultatet i CASE ELSE-satsen och alltid stänga uttalandet med ordet “END SELECT”.

Intressanta artiklar...