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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *