Come scrivere una dichiarazione case in vba (con esempio)
Un’istruzione case è un tipo di istruzione che scorre ciclicamente le condizioni e restituisce un valore quando viene soddisfatta la prima condizione.
È possibile utilizzare la seguente sintassi di base per scrivere un’istruzione case in VBA:
SubCaseStatement () Dim i As Integer For i = 2 To 9 Select Case Range(" B " & i).Value Case Is >= 30 result=" Great " Box Is >= 20 result = " Good " Case Is >= 15 result=" OK " Case Else result=" Bad " End Select Range(" C " & i).Value = result Next i End Sub
Questo esempio particolare esamina ciascuna cella nell’intervallo B2:B9 e restituisce i seguenti valori nell’intervallo C2:C9 :
- “ Eccellente ” se il valore nella colonna B è maggiore o uguale a 30.
- Altrimenti “ Buono ” se il valore nella colonna B è maggiore o uguale a 20.
- Altrimenti “ OK ” se il valore nella colonna B è maggiore o uguale a 15.
- Altrimenti “ Cattivo ” se nessuna delle condizioni precedenti è soddisfatta.
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: scrivere una dichiarazione del caso in VBA
Supponiamo di avere il seguente set di dati in Excel che mostra il numero di punti segnati da diversi giocatori di basket:
Supponiamo di voler scrivere un’istruzione case per assegnare un valore Eccellente, Buono, OK o Scarso a ciascun giocatore in base al numero di punti segnati.
Per fare ciò possiamo creare la seguente macro:
SubCaseStatement () Dim i As Integer For i = 2 To 9 Select Case Range(" B " & i).Value Case Is >= 30 result=" Great " Box Is >= 20 result = " Good " Case Is >= 15 result=" OK " Case Else result=" Bad " End Select Range(" C " & i).Value = result Next i End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
La colonna C restituisce un valore Eccellente, Buono, OK o Scarso in base al valore corrispondente nella colonna B.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:
VBA: come classificare un elenco di valori
VBA: come contare i valori univoci nell’intervallo
VBA: come contare il numero di righe nell’intervallo