Declarație de caz VBA - Exemple de declarație de caz VBA Select

Declarație de caz Excel VBA

Declarația de caz VBA este una dintre funcțiile logice. Declarația de caz testează mai multe teste logice și obține rezultatul în două moduri, adică dacă rezultatul sau testul logic este ADEVĂRAT un set de rezultate și dacă rezultatul sau testul logic este FALS, atunci al doilea set de rezultate.

Testele logice sunt de obicei realizate folosind formule IF, fie că este o formulă de foaie de lucru sau în codificare VBA; în ambele platforme, această funcție ne ajută să efectuăm multe tipuri de calcule complicate. Nu mulți dintre noi realizăm că avem o alternativă la declarația IF din VBA, adică „Declarație de caz”. Acest articol vă oferă detalii complete despre această afirmație logică.

Sintaxă

Mai jos este sintaxa declarației „Select Case”.

Selectați Cazul „Valoare care trebuie testată” Cazul este „Test logic” Rezultatul dacă Cazul 1 este ADEVANT Cazul este „Testul logic” Rezultatul dacă Cazul 2 este ADEVANT Cazul este „Testul logic” Rezultatul dacă Cazul 3 este ADEVARAT rezultatele sunt TRUE End Select

Acest lucru este aproape similar cu sintaxa instrucțiunii IF, dar în loc să folosim ELSEIF, folosim Cazul 1, Cazul 2, Cazul 3 și așa mai departe.

Exemple de declarații de caz VBA

Exemplul nr. 1

În celula A1 am introdus numărul ca 240.

Acum vom testa acest număr dacă acesta este mai mare de 200 sau nu, folosind instrucțiunea SELECT CASE .

Pasul 1: Deschideți instrucțiunea Selectați caz acum.

Cod:

Sub Select_Case_Example1 () Select Case End Sub

Pasul 2: Odată ce „Select Case” este deschis, trebuie să furnizăm care este valoarea pe care o testăm. În acest caz, testăm valorile celulei A1.

Cod:

Sub Select_Case_Example1 () Select Range Case ("A1"). Value End Sub

Pasul 3: Odată ce valoarea de testat este dată acum, trebuie să aplicăm teste logice în excel folosind cuvântul „ Cazul este ”.

Cod:

Sub Select_Case_Example1 () Select Range Case ("A1"). Value Case Is> 200 End Sub

Pasul 4: Acum, în linia următoare, trebuie să furnizăm valoarea „rezultat” dacă testul logic aplicat este ADEVĂRAT. În caseta de mesaj, avem nevoie de rezultat, deoarece „Numărul este> 200”.

Cod:

Sub Select_Case_Example1 () Select Range Case ("A1"). Value Case Is> 200 MsgBox "Numărul este> 200" End Sub

Pasul 5: În acest exemplu, avem nevoie doar de două rezultate, așa că nu voi folosi mai multe instrucțiuni „Cazul este”. În continuare, voi folosi cuvântul „Case Else” pentru a închide declarația VBA „Select Case”.

Cod:

Sub Select_Case_Example1 () Select Range Case ("A1"). Value Case Is> 200 MsgBox "Number is> 200" Case Else MsgBox "Number is <200" End Sub

Pasul 6: Odată furnizate toate cazurile, trebuie să închidem declarația select case folosind cuvântul „End Select”.

Cod:

Sub Select_Case_Example1 () Select Range Case ("A1"). Value Case Is> 200 MsgBox "Number is> 200" Case Else MsgBox "Number is <200" End Select End End

Pasul 7: Rulați acum codul și vedeți care este rezultatul pe care îl obținem în caseta de mesaje VBA.

Rezultatul obținut este „Numărul este> 200” deoarece în celula A1 valoarea este 240, care este> 200.

Exemplul nr. 2

Acum vom vedea câteva exemple practice în timp real de scoruri de testare. Uită-te la codul VBA de mai jos.

Cod:

Sub Select_Case_Example2 () Dim ScoreCard As Integer ScoreCard = Application.InputBox („Scorul ar trebui să fie alb-negru de la 0 la 100”, „Care este scorul pe care doriți să-l testați)) Selectați Scorul Scorului Cardul Cazului este> = 85 MsgBox„ Distincția ”Cazul Is> = 60 MsgBox "First Class" Case Is> = 50 MsgBox "Second Class" Case Is> = 35 MsgBox "Pass" Case Altele MsgBox "Fail" Sfârșit Select End End

Permiteți-mi să explic codul rând cu rând pentru a înțelege mai bine.

În primul rând, am declarat variabila ca Număr întreg și, pentru această variabilă, am atribuit InputBox în VBA, unde un utilizator trebuie să introducă scorul între 0 și 100.

Când rulați codul, veți vedea caseta de intrare ca cea de mai jos și, în această casetă de introducere, trebuie să introduceți scorul.

Acum orice introducem în caseta de introducere va fi stocat în variabila „ScoreCard”.

In the next line, I have applied a select case statement to test this score.

First, it will test the ScoreCard>=85 or not. If this is TRUE, then we will get the value in the message box as “Distinction.”

Select Case ScoreCard Case Is>= 85 MsgBox "Distinction"

Similarly, in the following lines, I have applied the second test as ScoreCard>=60. If this is TRUE, then it will show the result as “First.”

Case Is>= 60 MsgBox "First Class"

Like this, I have applied other tests as well, and in the end, I have used the “Case Else” statement. If all the applied logical tests are FALSE, then we will get the result as “Fail.”

Case Else MsgBox "Fail"

Now I have supplied 68 as the score, and we should get the result as “First Class” in the message box.

Example #3 - Using the “To” keyword

In the above example, we have used student scores to arrive at the result. The same test can be conducted by using the “To” word to determine the lower limit and upper limit of the logical test.

Code:

Sub Select_Case_Example3() Dim ScoreCard As Integer ScoreCard = Application.InputBox("Score should be b/w 0 to 100", "What is the score you want to test") Select Case ScoreCard Case 85 To 100 MsgBox "Distinction" Case 60 To 84 MsgBox "First Class" Case 50 To 59 MsgBox "Second Class" Case 35 To 49 MsgBox "Pass" Case Else MsgBox "Fail" End Select End Sub

I have used the same code as above, but the only yellow-colored area I have changed here. Based on the number we type in the input box accordingly, we will get the result.

Things to Remember

  • Select Case este o alternativă la declarația IF.
  • Select Case este disponibil numai cu VBA.
  • În prima linie din „Selectare caz”, trebuie doar să furnizăm valoarea care trebuie testată. Apoi, în linia „Caz”, trebuie să aplicăm testul logic. Acest lucru este diferit de starea noastră IF.

Articole interesante...