Istruzione case VBA - Esempi di istruzione Select Case VBA

Dichiarazione del caso VBA di Excel

L'istruzione Case VBA è una delle funzioni logiche. Case Statement verifica più test logici e arriva il risultato in due modi, cioè se il risultato o il test logico è VERO un insieme di risultati e se il risultato o il test logico è FALSO, il secondo insieme di risultati.

I test logici sono tipicamente condotti utilizzando formule IF, che si tratti di una formula di foglio di lavoro o nella codifica VBA; in entrambe le piattaforme, questa funzione ci aiuta a condurre molti tipi di calcoli complicati. Non molti di noi si rendono conto che abbiamo un'alternativa all'istruzione IF in VBA, ad esempio "Case Statement". Questo articolo fornisce tutti i dettagli su questa dichiarazione logica.

Sintassi

Di seguito è riportata la sintassi dell'istruzione "Select Case".

Seleziona il caso "Valore da testare" Il caso è "Test logico" Risultato se il caso 1 è VERO Caso è "Test logico" Risultato se il caso 2 è VERO Caso è "Test logico" Risultato se il caso 3 è VERO Caso Altro Se nessuno dei i risultati sono TRUE End Select

È quasi simile alla sintassi dell'istruzione IF, ma invece di usare ELSEIF, usiamo Case 1, Case 2, Case 3 e così via.

Esempi di istruzione case VBA

Esempio 1

Nella cella A1 ho inserito il numero come 240.

Ora testeremo questo numero se è maggiore di 200 o meno utilizzando l' istruzione SELECT CASE .

Passaggio 1: apri l'istruzione Seleziona caso ora.

Codice:

Sub Select_Case_Example1 () Seleziona Case End Sub

Passaggio 2: una volta aperto il "Seleziona caso", dobbiamo fornire qual è il valore che stiamo testando. In questo caso, stiamo testando i valori della cella A1.

Codice:

Sub Select_Case_Example1 () Seleziona intervallo di casi ("A1") Valore End Sub

Passaggio 3: una volta fornito il valore da testare, è necessario applicare i test logici in Excel utilizzando la parola " Case Is ".

Codice:

Sub Select_Case_Example1 () Seleziona intervallo di casi ("A1"). Il valore Case è> 200 End Sub

Passaggio 4: Ora, nella riga successiva, dobbiamo fornire il valore "risultato" se il test logico applicato è VERO. Nella finestra del messaggio, abbiamo bisogno del risultato come "Il numero è> 200".

Codice:

Sub Select_Case_Example1 () Seleziona intervallo di casi ("A1"). Valore Case è> 200 MsgBox "Il numero è> 200" End Sub

Passaggio 5: in questo esempio, sono necessari solo due risultati, quindi non userò più istruzioni "Case Is". Successivamente, userò la parola "Case Else" per chiudere l'istruzione VBA "Select Case".

Codice:

Sub Select_Case_Example1 () Seleziona intervallo di casi ("A1"). Valore Case è> 200 MsgBox "Il numero è> 200" Case Else MsgBox "Il numero è <200" End Sub

Passaggio 6: una volta forniti tutti i casi, è necessario chiudere l'istruzione select case utilizzando la parola "End Select".

Codice:

Sub Select_Case_Example1 () Seleziona intervallo di casi ("A1"). Il valore Case è> 200 MsgBox "Il numero è> 200" Case Else MsgBox "Il numero è <200" End Select End Sub

Passaggio 7: ora esegui il codice e guarda qual è il risultato che otteniamo nella finestra di messaggio VBA.

Il risultato ottenuto è "Il numero è> 200" perché nella cella A1 il valore è 240, che è> 200.

Esempio n. 2

Ora vedremo alcuni esempi pratici in tempo reale dei punteggi dei test. Guarda il codice VBA sottostante.

Codice:

Sub Select_Case_Example2 () Dim ScoreCard As Integer ScoreCard = Application.InputBox ("Il punteggio dovrebbe essere b / n da 0 a 100", "Qual è il punteggio che vuoi testare") Seleziona caso ScoreCard Case Is> = 85 MsgBox "Distinction" Case Is> = 60 MsgBox "First Class" Case Is> = 50 MsgBox "Second Class" Case Is> = 35 MsgBox "Pass" Case Else MsgBox "Fail" End Select End Sub

Lascia che ti spieghi il codice riga per riga per capire meglio.

Innanzitutto, ho dichiarato la variabile come Integer e per questa variabile ho assegnato l'InputBox in VBA, dove un utente deve inserire il punteggio compreso tra 0 e 100.

Quando esegui il codice, vedrai la casella di input come la seguente, e in questa casella di input, devi inserire il punteggio.

Ora qualunque cosa inseriamo nella casella di input verrà memorizzata nella variabile "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 è un'alternativa all'istruzione IF.
  • Select Case è disponibile solo con VBA.
  • Nella prima riga di "Seleziona caso", dobbiamo solo fornire il valore che deve essere testato. Quindi nella riga "Case", dobbiamo applicare il test logico. Questo è diverso dalla nostra condizione IF.

Articoli interessanti...