Come utilizzare l'istruzione Select Case in VBA? (Esempi)

Istruzione Seleziona caso di Excel VBA

Select Case è un sostituto della scrittura di più istruzioni if ​​in VBA, quando abbiamo molte condizioni in un codice potremmo dover usare più istruzioni If e che può essere noioso poiché diventa più complesso man mano che vengono fornite più istruzioni If, in select case statement definiamo i criteri come diversi casi e risultati secondo loro.

SELEZIONA CASO aiuta nel processo decisionale. In questo, viene utilizzata una sola espressione per valutare i diversi casi possibili. Molteplici condizioni vengono analizzate facilmente per eseguire il codice sviluppato. Questa istruzione case viene utilizzata come dichiarazione sostitutiva di ELSE IF per valutare le espressioni. È classificato come una funzione logica incorporata in Excel. Per utilizzare questa funzione, il codice viene inserito tramite l'editor di visual basic presentato nella scheda sviluppatore.

Spiegazione

Vari gruppi di istruzioni vengono utilizzati in Select Case. La seguente sintassi dovrebbe essere seguita per usarla in modo efficace. È simile all'istruzione switch presentata in altri linguaggi di programmazione come Java, C # e PHP.

Seleziona (Case) Espressione per testare (Case) Elenco di dichiarazioni di espressioni (Case 1, Case 2, Case 3 e così via …) Case Else (Else Statements) Fine Seleziona

La spiegazione dei termini associati al caso selezionato viene fornita come segue.

Un'espressione per il test: è necessaria per valutare i diversi tipi di dati come intero, stringa, booleano, oggetto e carattere.

Elenco di espressioni: le espressioni vengono create con il caso per trovare la corrispondenza esatta dell'input immesso. Se sono presenti più di due espressioni, queste vengono separate utilizzando l'operatore virgola. "Is" è una parola chiave utilizzata per confrontare le due espressioni utilizzando gli operatori logici in Excel come =,, =.

  • Fine selezione: chiude la definizione del caso di selezione del costruttore
  • Dichiarazioni: le dichiarazioni vengono sviluppate utilizzando il caso per eseguire le espressioni che vengono valutate per analizzare se esiste un'istruzione corrispondente
  • Else Statements: Serve a testare l'istruzione else quando l'espressione di test non corrisponde ad alcuna istruzione case.

Come utilizzare l'istruzione Select Case VBA?

La funzione Seleziona caso fornita da VBA non viene eseguita nei normali fogli di lavoro. Dobbiamo utilizzare l'opzione Visual Basic nella scheda Sviluppatore. Le funzioni e la codifica definite dall'utente vengono create in modalità sviluppatore per eseguire le varie piccole applicazioni nel campo aziendale.

Viene utilizzato in situazioni in cui sono presenti istruzioni if ​​annidate in Excel. È l'opzione migliore per gestire una varietà di dichiarazioni di casi. Per utilizzare questa opzione in modo efficace, è necessario eseguire le seguenti attività.

  • Prima di tutto, deve creare una macro posizionando il controllo del pulsante di comando nel foglio Excel.
  • Successivamente, fai clic con il pulsante destro del mouse sul pulsante di comando e seleziona l'opzione di visualizzazione del codice.
  • Posiziona il codice tra la funzione del pulsante di comando e il sub end.
  • Eseguire il debug del codice per identificare eventuali errori di sintassi.
  • Compilare il codice per trovare errori di compilazione per eseguire correttamente il programma
  • Modificare i valori di input per osservare risultati diversi in base ai criteri di corrispondenza

Esempio n. 1: semplice istruzione Select Case

Questo esempio serve a comprendere il caso di selezione semplice per trovare il valore corrispondente.

Codice:

Private Sub Selcaseexmample () Dim A As Integer A = 20 Seleziona Case A Case 10 MsgBox "First Case is matched!" Caso 20 MsgBox "Il secondo caso è abbinato!" Caso 30 MsgBox "Il terzo caso è abbinato in Seleziona caso!" Caso 40 MsgBox "Il quarto caso è abbinato in Select Case!" Case Else MsgBox "Nessuno dei casi corrisponde!" Fine Selezionare End Sub

Risultato:

L'istruzione quattro case e l'istruzione case else vengono utilizzate per confrontare l'espressione di test con casi diversi. Nel presente esempio, il secondo caso è abbinato come variabile A corrisponde a 20.

Esempio # 2 - Parola chiave "A" per testare i voti

Questo esempio spiega l'uso della parola chiave "A" con il caso selezionato.

Codice:

Sottotitoli privati ​​Selcasetoesempio () Dim studentmarks As Integer studentmarks = InputBox ("Immettere un punteggio compreso tra 1 e 100?") Seleziona caso studentmarks Caso 1 - 36 MsgBox "Fallito!" Caso da 37 a 55 MsgBox "Grado C" Caso da 56 a 80 MsgBox "Grado B" Caso da 81 a 100 MsgBox "Grado A" Caso Else MsgBox "Fuori intervallo" Fine Seleziona Fine Sottotitoli

Risultato:

The ‘To’ keyword is helpful in defining the set of test expressions in a range. It is helpful in finding the grade obtained by a student by comparing the different cases. After running the program, we have to enter the value to get the result.

The output is displayed with a message box, as shown in the above screenshot.

Example #3 - Using ‘Is’ Keyword with Select Case

This example demonstrates the use of the ‘Is’ keyword with the select case.

Code:

Sub CheckNumber() Dim NumInput As Integer NumInput = InputBox("Please enter a number") Select Case NumInput Case Is = 200 MsgBox "You entered a number greater than or equal to 200" End Select End Sub

‘Is’ keyword helps to find the matched values with only case statements. It compares test expression with given input to produce the output.

The output is obtained as shown in the figure if the entered value is more than 200

Example #4 - With Command Button to Change the Values

The select case is also used with the Command button by creating a macro.

Code:

Sub color() Dim color As String color = Range("A1").Value Select Case color Case "Red", "Green", "Yellow" Range("B1").Value = 1 Case "White", "Black", "Brown" Range("B1").Value = 2 Case "Blue", "Sky Blue" Range("B1").Value = 3 Case Else Range("B1").Value = 4 End Select End Sub

As shown in the program, the input is taken from the cells of the worksheet. The program is executed after clicking on the command button used from ActiveX controls. In this, a comma separator is used to combine the test expressions.

When the value in the Cell A1 changed, it results in a change in the B1 cell also by running the excel macro through the command button. You can refer to the screenshot given below:-

Example #5 - Check a Number Odd or Even

This example to help to check a number is even or odd.

Code:

Sub CheckOddEven() CheckValue = InputBox("Enter the Number") Select Case (CheckValue Mod 2) = 0 Case True MsgBox "The number is even" Case False MsgBox "The number is odd" End Select End Sub

The coding is developed, as shown in the screenshot, and output is displayed as follows when even the number is entered.

Example #6 - Nested Select Case Statements

Nesting is a useful feature of the select case, and the way how it is done is shown.

Code:

Sub TestWeekday() Select Case Weekday(Now) Case 1, 7 Select Case Weekday(Now) Case 1 MsgBox "Today is Sunday" Case Else MsgBox "Today is Saturday" End Select Case Else MsgBox "Today is a Weekday" End Select End Sub

Here the select case is defined inside another select case to test a day, weekday, or weekend. Except for case 1 and 7 remaining all are weekdays (Note: case 1 is Sunday and case 7 is Saturday)

Things to Remember

  • The ‘Is’ keyword using in the statement of (case) and (case else) are not equal.
  • ActiveX control should be used in executing program through a command button taking input and displaying output in the excel sheet range of cells.
  • It is hard to run the programs in VBA if macros are disabled and always enable Macros to get the best results.
  • VBA fa distinzione tra maiuscole e minuscole e l'input deve essere inserito con precisione per ottenere risultati migliori.

Articoli interessanti...