Custodia switch VBA Excel
In VBA Switch Case, quando abbiamo bisogno di controllare o analizzare logicamente una condizione ed eseguire le diverse righe di codice basate sullo stesso, utilizziamo l'istruzione condizionale IF-Else. Allo stesso modo, c'è un'altra istruzione Switch Case che è più ampiamente nota come istruzione Select Case che può controllare o analizzare le molteplici condizioni logiche ed eseguire le righe di codice basate su quelle. Quando si hanno tre o più condizioni logiche da verificare, si consiglia di utilizzare Seleziona caso o Cambia caso anziché un'istruzione IF-Else convenzionale. Perché rende il codice VBA più veloce e più comprensibile invece delle istruzioni IF-Else nidificate in tali casi.
Cambia caso / Seleziona caso
Cambia caso o Seleziona caso in VBA funziona su linee simili a quelle delle istruzioni IF-Else. Controlla le espressioni logiche / condizionali multiple rispetto a valori (casi) diversi. Non appena uno dei casi corrisponde alla condizione (diventa vero per la condizione data), il sistema esegue quel caso e gli altri casi vengono ignorati per l'esecuzione. Nel caso, ci sono due casi che sono veri per la condizione data, solo il primo verrà eseguito con la legge di precedenza.
La sintassi per Switch Case / Select Case è la seguente:
Select Case
Case value_1
Code to Execute when Expression = value_1
Case value_2
Code to Execute when Expression = value_2
Case value_3
Code to Execute when Expression = value_3
.
.
.
Case value_n
Code to Execute when Expression = value_n
Case Else
Code to Execute when no case value meets the expression/logical test.
End Select
Dove,
Espressione: questa è un'espressione per la quale volevamo verificare o analizzare utilizzando valori di caso diversi.
value_1, value_2, value_3, … sono le condizioni logiche che devono essere verificate per l'espressione data.
Come utilizzare l'istruzione Case Switch in VBA di Excel?
Impareremo come utilizzare l'istruzione Switch Case in Excel utilizzando il codice VBA.
Puoi scaricare questo modello Excel Case Switch VBA qui - Modello Excel Case Switch VBACustodia switch VBA - Esempio n. 1
Verificheremo se il numero specificato è inferiore a 100 o superiore a 100. Per questo, seguire i passaggi seguenti:
Passaggio 1: inserire un nuovo modulo in Visual Basic Editor (VBE). Fai clic sulla scheda Inserisci > seleziona Modulo.
Passaggio 2: definire una nuova sottoprocedura all'interno del modulo inserito che può contenere la macro.
Codice:
Sub switch_case_example1 () End Sub
Passaggio 3: definire una nuova variabile denominata usrInpt che può contenere il valore utente. Utilizzare la funzione VBA InputBox per creare una casella di input che accetta i valori utente tramite variabile usrInpt .
Codice:
Sub switch_case_example1 () Dim usrInpt As Intero usrInpt = InputBox ("Inserisci il tuo valore") End Sub
Passaggio 4: utilizzare l'istruzione Select Case e fornire il valore fornito dall'utente tramite la variabile usrInpt . Questa è l'espressione che dobbiamo verificare con condizioni logiche.
Codice:
Sub switch_case_example1 () Dim usrInpt As Intero usrInpt = InputBox ("Inserisci il tuo valore") Seleziona Caso usrInpt End Sott
Passaggio 5: immettere il primo test logico da verificare nell'istruzione Case come segue.
Codice:
Sub switch_case_example1 () Dim usrInpt As Intero usrInpt = InputBox ("Immettere il valore") Seleziona caso usrInpt Il caso è <100 End Sub
Passaggio 6: utilizzare la funzione MsgBox per aggiungere un messaggio di output se Case Is <100 è true.
Codice:
Sub switch_case_example1 () Dim usrInpt As Intero usrInpt = InputBox ("Immettere il valore") Seleziona caso usrInpt Il caso è <100 MsgBox "Il numero fornito è inferiore a 100" Fine Sottotitolo
Passo 7: Ora, dobbiamo fornire un'istruzione eseguibile quando il valore per usrInpt è maggiore di 100. Aggiungi un caso e MsgBox per raggiungere questo obiettivo.
Codice:
Sub switch_case_example1 () Dim usrInpt As Intero usrInpt = InputBox ("Inserisci il tuo valore") Seleziona Caso usrInpt Il caso è 100 MsgBox "Il numero fornito è maggiore di 100" End Sub
Passaggio 8: cosa succede se il valore fornito dall'utente è esattamente 100? Non abbiamo aggiunto casi per questo. Aggiungiamo quello che dà all'utente un messaggio che il valore inserito è 100.
Codice:
Sub switch_case_example1 () Dim usrInpt As Intero usrInpt = InputBox ("Inserisci il tuo valore") Seleziona Caso usrInpt Il caso è 100 MsgBox "Il numero fornito è maggiore di 100" Il caso è = 100 MsgBox "Il numero fornito è 100" End Sub
Passaggio 9: è necessario terminare l'istruzione Select Case. Usa End Select per terminare il loop creato.
Codice:
Sub switch_case_example1 () Dim usrInpt As Intero usrInpt = InputBox ("Inserisci il tuo valore") Seleziona caso usrInpt Il caso è 100 MsgBox "Il numero fornito è maggiore di 100" Il caso è = 100 MsgBox "Il numero fornito è 100" Fine Seleziona Fine Sub
Passo 10: Ora, esegui questo codice premendo il pulsante Esegui o F5. Verrà visualizzata una nuova finestra popup che richiede il controllo del valore. Inserirò un valore come 110 e premerò il pulsante OK sulla casella di input. Poiché il numero che inserisco è maggiore di 100, non appena faccio clic su OK, sullo schermo verrà visualizzato un nuovo messaggio che dice "Il numero fornito è maggiore di 100".
Custodia switch VBA - Esempio n. 2
Supponiamo di voler acquisire il voto degli studenti in base ai loro voti. Vedi i passaggi seguenti su come possiamo raggiungere questo obiettivo.
Passaggio 1: definire una nuova procedura secondaria denominata switch_case_example2 .
Codice:
Sub switch_case_example2 () End Sub
Passaggio 2: definire due nuove variabili: segni come numeri interi e voti come stringa usando l'istruzione Dim nella procedura secondaria creata.
Codice:
Sub switch_case_example2 () Contrassegni graduali come interi Gradi dim. Come sottotitoli stringa
Passaggio 3: utilizzare la funzione VBA InputBox attraverso la quale l'utente può immettere il valore per i segni delle variabili.
Codice:
Sub switch_case_example2 () Contrassegni Dim. Come intero Gradi dim. Come contrassegni String = InputBox ("Immettere i segni") Fine sottotitoli
Passaggio 4: utilizzare l'istruzione Select Case e fornire i segni di variabile come espressione da verificare.
Codice:
Sub switch_case_example2 () Contrassegni Dim. Come interi Gradi dim. Come contrassegni String = InputBox ("Immetti i segni") Seleziona i segni Case Fine Sottotitoli
Poiché vogliamo assegnare i voti agli studenti in base ai voti che inseriscono, dobbiamo prima definire i voti.
Passaggio 5: utilizzare l'istruzione case per verificare se i segni sono inferiori a 35. In tal caso, assegnare il valore come “F” ai voti variabili.
Codice:
Sub switch_case_example2 () Contrassegni Dim. Come interi Gradi dim. Come contrassegni String = InputBox ("Immettere i segni") Seleziona i segni Case Il caso è <35 gradi = "F" End Sub
Passaggio 6: se i voti sono compresi tra 35 e 45, assegnare il valore come “D” ai gradi variabili.
Codice:
Sub switch_case_example2 () Contrassegni Dim. Come intero Gradi dim. Come contrassegni stringa = InputBox ("Immettere i segni") Seleziona i segni Case Case <35 gradi = "F" Case 35 A 45 gradi = "D" End Sub
Passaggio 7: se i segni immessi sono compresi tra 46 e 55, il valore "C" dovrebbe essere assegnato a voti variabili.
Codice:
Sub switch_case_example2 () Contrassegni Dim. Come interi Gradi dim. Come contrassegni stringa = InputBox ("Immettere i segni") Seleziona i segni Case Case <35 gradi = "F" Case 35 - 45 gradi = "D" Case 46 - 55 gradi = "C" End Sub
Passaggio 8: quando i segni sono compresi nell'intervallo da 56 a 65, il valore assegnato ai gradi variabili dovrebbe essere "B".
Codice:
Sub switch_case_example2 () Contrassegni Dim. Come interi Gradi dim. Come contrassegni stringa = InputBox ("Immettere i segni") Seleziona i segni Case Case <35 gradi = "F" Case 35 - 45 gradi = "D" Case 46 - 55 gradi = "C" Caso da 56 a 65 gradi = "B" End Sub
Passaggio 9: per i voti tra 66 e 75, il voto dovrebbe essere “A”.
Codice:
Sub switch_case_example2 () Contrassegni Dim. Come interi Gradi dim. Come contrassegni stringa = InputBox ("Immettere i segni") Seleziona i segni Case Case <35 gradi = "F" Case 35 - 45 gradi = "D" Case 46 - 55 gradi = "C" Caso da 56 a 65 gradi = "B" Caso da 66 a 75 gradi = "A" Fine Sottotitoli
Passaggio 10: se i segni immessi sono più di 75, alla variabile dei voti dovrebbe essere assegnato un valore come "A +"
Codice:
Sub switch_case_example2 () Contrassegni Dim. Come interi Gradi dim. Come contrassegni String = InputBox ("Immetti i segni") Seleziona i segni Case Case Is 75 grades = "A +" End Sub
Passaggio 11: utilizzare Fine Selezionare per chiudere il ciclo Seleziona caso.
Codice:
Sub switch_case_example2 () Contrassegni Dim. Come intero Gradi dim. Come contrassegni stringa = InputBox ("Immettere i segni") Seleziona i segni Case Il caso è 75 gradi = "A +" Fine Seleziona Fine Sottotitoli
Step 12: Ora, dobbiamo verificare qual è il voto associato ai voti che uno studente ha inserito. A tale scopo, utilizzare la funzione MsgBox in modo tale da indicare i voti raggiunti all'interno di una finestra di messaggio.
Codice:
Sub switch_case_example2 () Contrassegni Dim. Come interi Gradi dim. Come contrassegni stringa = InputBox ("Immettere i segni") Selezionare i segni Caso Il caso è 75 gradi = "A +" Fine Seleziona MsgBox "Il grado raggiunto è:" e gradi Fine Sottotitoli
Passaggio 13: esegui questo codice premendo il pulsante F5 o Esegui e puoi vedere una casella di input VBA che richiede un valore di segno. Inserirò i segni come 72 e premerò il pulsante OK presente sulla casella di input. Non appena premo il pulsante OK all'interno della casella di input, visualizzerò una finestra di messaggio che indica i voti associati ai voti inseriti.
Ecco come possiamo usare l'istruzione Switch / Select Case all'interno di VBA.
Cose da ricordare
- Switch case è in realtà un sinonimo dell'istruzione Select Case in VBA. È stato chiamato così perché con l'aiuto di questa affermazione possiamo passare da un output all'altro contemporaneamente.
- Questa affermazione può essere utilizzata come alternativa al ciclo IF-Else ogni volta che abbiamo tre o più condizioni da verificare.
- Va bene se non si utilizza ELSE Case nell'istruzione Select Case. Tuttavia, in tal caso, è necessario assicurarsi che almeno una condizione sia vera in tutto il ciclo.
Articoli consigliati
Questa è una guida a VBA Switch Case. Qui discutiamo come utilizzare l'istruzione Case Switch in VBA di Excel insieme ad esempi pratici e modello Excel scaricabile. Puoi anche consultare i nostri altri articoli suggeriti:
- Collezione VBA (esempi)
- Dichiarazioni VBA IF | Modelli Excel
- Come utilizzare la funzione di ordinamento VBA di Excel?
- VBA While Loop (esempi con modello Excel)
- VBA Environ