VBA Switch Case - Exemple de utilizare a declarației de comutare Excel VBA

Excel VBA Switch Case

Switch Case sau Select Case este o declarație disponibilă în VBA pentru a efectua teste logice în care funcționează ca alternativă la instrucțiunea IF-THEN din VBA. Folosind un caz de comutare, putem efectua mai multe teste logice și putem obține rezultate pe baza mai multor rezultate.

Mai jos este sintaxa declarației Switch Case / Select Case.

Cod:

Selectați Valoarea cazului 1 caz dacă testul cazului 1 este ADEVANT Valoarea cazului 2 dacă testul cazului 2 este ADEVANT Valoarea cazului 3 dacă testul cazului 3 este ADEVĂRAT Valoarea cazului altul dacă niciunul dintre cazurile de mai sus nu este ADEVĂR Selectați

: Care este testul logic? Trebuie să intrăm aici în test.

Cazul 1, Cazul 2: În fiecare caz, trebuie să testăm mai multe teste logice în Excel.

Cum se folosește declarația de caz VBA Switch?

Exemplul nr. 1

În celula A1 am introdus valoarea 550.

Vom testa acest număr folosind instrucțiunile de caz majuscul și vom ajunge la starea ca „Mai mult de 500” dacă valoarea este mai mare de 500 sau altfel vom ajunge la starea ca „Mai puțin de 500”.

Deschideți mai întâi procedura VBA Sub.

Cod:

Sub Switch_Case () End Sub

Deschideți Instrucțiunea de caz selectat în VBA și furnizați intervalul de test logic („A2”). Valoare

Cod:

Sub Switch_Case () Select Range Case ("A2"). Value End Sub

Acum introduceți primul caz deoarece Cazul este> 500.

Cod:

Sub Switch_Case () Select Range Case ("A2"). Value Case Is> 500 End Sub

Dacă acest caz este ADEVĂRAT, atunci care este rezultatul de care avem nevoie în celula B, 2, adică „Mai mult de 500”.

Cod:

Sub Switch_Case () Select Range Case ("A2"). Value Case Is> 500 Range ("B2"). Value = "More than 500" End Sub

Acum rămânem cu un singur rezultat, adică declarația Case Else. Dacă primul caz este FALS, atunci avem nevoie de rezultat ca „Mai puțin de 500”.

Cod:

Sub Switch_Case () Select Range Case ("A2"). Value Case Is> 500 Range ("B2"). Value = "More than 500" Case Else Range ("B2"). Value = "Less than 500" End Sub

Acum închideți instrucțiunea folosind instrucțiunea „Finalizare selectare”.

Cod:

Sub Switch_Case () Select Range Case ("A2"). Value Case Is> 500 Range ("B2"). Value = "More than 500" Case Else Range ("B2"). Value = "Less than 500" End Select Sfârșitul Sub

Rulați codul, vom obține valoarea în celula B2.

Deoarece valoarea din celula A2 este mai mare de 500, am obținut rezultatul ca „Mai mult de 500”.

Exemplul nr. 2

Acum vom vedea folosind mai multe exemple de cazuri. Mai jos este scorul elevului la examen.

Cu acest scor, trebuie să ajungem la Grade, deoarece criteriile sunt cele de mai jos.

  • Scor> = 85, Grad = „Dist”
  • Scor> = 60, Grad = „Primul”
  • Scor> = 50, Grad = „Al doilea”
  • Scor> = 35, Nota = „Aprobare”
  • Dacă altceva Grad = „Eșuează”.

Cod:

Sub Switch_Case1 ()

 Dim Scor ca scor întreg = 65 Selectați Scorul cazului Cazul este> = 85 MsgBox "Dist" Cazul este> = 60 MsgBox "Primul" Cazul este> = 50 MsgBox "Al doilea" Cazul este> = 35 MsgBox "Treceți" Cazul Altele MsgBox " Fail "End Selectează End Sub

Rulați acest cod. Vom obține nota în caseta de mesaj.

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.
  • Dacă niciun test logic nu este ADEVĂRAT, atunci puteți trece pur și simplu rezultatul alternativ în instrucțiunea CASE ELSE și închideți întotdeauna instrucțiunea cu cuvântul „END SELECT”.

Articole interesante...