Custodia switch VBA - Esempi di utilizzo dell'istruzione Switch VBA di Excel

Custodia per switch VBA di Excel

Switch Case o Select Case è un'istruzione disponibile in VBA per condurre test logici in cui funziona come alternativa all'istruzione IF-THEN in VBA. Utilizzando uno Switch Case, possiamo condurre più test logici e ottenere risultati basati su più risultati.

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

Codice:

Seleziona il valore del caso 1 se il test del caso 1 è VERO Valore del caso 2 se il test del caso 2 è VERO Valore del caso 3 se il test del caso 3 è VERO Valore del caso altro se nessuno dei casi precedenti è TRUE

: Qual è il test logico? Dobbiamo entrare nel test qui.

Caso 1, Caso 2: in ogni caso, dobbiamo testare più test logici in Excel.

Come utilizzare l'istruzione Switch Case VBA?

Esempio 1

Nella cella A1 ho inserito il valore come 550.

Testeremo questo numero utilizzando istruzioni switch case e arriveremo allo stato "Più di 500" se il valore è superiore a 500, altrimenti arriveremo allo stato "Inferiore a 500".

Aprire prima la procedura VBA Sub.

Codice:

Sub Switch_Case () End Sub

Aprire l'istruzione Select Case in VBA e fornire il valore dell'intervallo di test logico ("A2")

Codice:

Sub Switch_Case () Seleziona Case Range ("A2") Valore End Sub

Ora inserisci il primo caso come Case è> 500.

Codice:

Sub Switch_Case () Seleziona intervallo di casi ("A2"). Il valore di caso è> 500 End Sub

Se questo caso è VERO, qual è il risultato di cui abbiamo bisogno nella cella B, 2, ovvero "Più di 500".

Codice:

Sub Switch_Case () Seleziona intervallo di casi ("A2"). Caso di valore è> 500 intervallo ("B2"). Valore = "Più di 500" End Sub

Ora ci resta un solo risultato, cioè l'istruzione Case Else. Se il primo caso è FALSO, allora abbiamo bisogno del risultato come "Meno di 500".

Codice:

Sub Switch_Case () Seleziona intervallo di casi ("A2"). Valore Case è> 500 intervallo ("B2"). Valore = "Più di 500" Case Else Range ("B2"). Valore = "Meno di 500" End Sub

Ora chiudere l'istruzione utilizzando l'istruzione "End Select".

Codice:

Sub Switch_Case () Seleziona intervallo di casi ("A2"). Valore Case è> 500 Intervallo ("B2"). Valore = "Più di 500" Case Else Intervallo ("B2"). Valore = "Meno di 500" Fine selezione End Sub

Esegui il codice otterremo il valore nella cella B2.

Poiché il valore nella cella A2 è maggiore di 500, abbiamo ottenuto il risultato come "Più di 500".

Esempio n. 2

Ora vedremo l'utilizzo di più esempi di casi. Di seguito il punteggio dello studente in esame.

Con questo punteggio, dobbiamo arrivare a Grade, perché quello di seguito è il criterio.

  • Punteggio> = 85, Grado = "Dist"
  • Punteggio> = 60, Grado = "Primo"
  • Punteggio> = 50, Grado = "Secondo"
  • Punteggio> = 35, Grado = "Superato"
  • Se non altro Grade = "Fail".

Codice:

Sub Switch_Case1 ()

 Dim Score As Integer Score = 65 Select Case Score Case Is> = 85 MsgBox "Dist" Case Is> = 60 MsgBox "First" Case Is> = 50 MsgBox "Second" Case Is> = 35 MsgBox "Pass" Case Else MsgBox " Fallito "Fine Seleziona Fine Sottotitolo

Esegui questo codice. Otterremo il voto nella finestra del messaggio.

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.
  • Se nessun test logico è TRUE, è possibile passare semplicemente il risultato alternativo nell'istruzione CASE ELSE e chiudere sempre l'istruzione con la parola "END SELECT".

Articoli interessanti...