Ultimo aggiornamento: agosto 2021; Microsoft Excel 365, 2019, 2016.
Nell'esercitazione odierna di VBA per Excel Automation impareremo come modificare a livello di codice il colore di una cella in base al valore della cella.
Ad esempio, possiamo utilizzare questa tecnica quando sviluppiamo un semplice dashboard di stato.
Impostare
Se non stai ancora sviluppando su Excel, ti consigliamo di consultare la nostra guida introduttiva alle macro di Excel . In particolare, devi assicurarti che la scheda Sviluppatore sia disponibile nella barra multifunzione di Microsoft Excel, poiché la utilizzerai per scrivere del codice semplice.
- Apri Microsoft Excel. Si noti che il codice fornito in questo tutorial dovrebbe funzionare in Excel 2007 e versioni successive.
- In un foglio di lavoro vuoto, aggiungi la seguente tabella:

- Ora vai avanti e definisci un intervallo denominato premendo: Formule>> Definisci nome
![Come impostare il colore di una cella di Excel in base a una condizione con VBA? Come impostare il colore di una cella di Excel in base a una condizione con VBA?]()
Modifica del colore interno della cella in base al valore con Cell.Interior.Color
- Premi la voce Sviluppatore nella barra multifunzione.
- Premi Visual Basic o Alt+F11 per aprire l'editor VBA per sviluppatori.
- Quindi evidenzia il foglio di lavoro in cui desideri eseguire il tuo codice. In alternativa, seleziona un modulo con il tuo codice VBA.
- Vai avanti e incolla questo codice. Nel nostro esempio modificheremo il colore interno di un intervallo di celle in valori RGB di celle specifici corrispondenti ai colori rosso, giallo e verde.
- In particolare utilizziamo il metodo VBA di Excel Cell.Interior.Color e passiamo il valore RGB corrispondente o l'indice di colore.
Sub Color_Cell_Condition()
Dim MyCell As Range
Dim StatValue As String
Dim StatusRange As Range
Set StatusRange = Range("Status")
For Each MyCell In StatusRange
StatValue = MyCell.Value
Select Case StatValue
Case "Progressing"
MyCell.Interior.Color = RGB(0, 255, 0)
Case "Pending Feedback"
MyCell.Interior.Color = RGB(255, 255, 0)
Case "Stuck"
MyCell.Interior.Color = RGB(255, 0, 0)
End Select
Next MyCell
End Sub
- Esegui il tuo codice, premendo F5 o Esegui >> Esegui Sub / UserForm.
- Noterai che la dashboard di stato è stata riempita come mostrato di seguito:
![Come impostare il colore di una cella di Excel in base a una condizione con VBA? Come impostare il colore di una cella di Excel in base a una condizione con VBA?]()
- Salva il tuo codice e chiudi il tuo editor VBA.