Última actualització: agost de 2021; Microsoft Excel 365, 2019, 2016.
Al tutorial d'automatització de VBA per a Excel d'avui aprendrem sobre com podem canviar programadament el color d'una cel·la en funció del valor de la cel·la.
Podem utilitzar aquesta tècnica quan desenvolupem un tauler d'estat simple, per exemple.
Configuració
Si encara no esteu desenvolupant a Excel, us recomanem que consulteu la nostra guia introductòria a les macros d'Excel . Concretament, us heu d'assegurar que la pestanya Desenvolupador estigui disponible a la vostra cinta de Microsoft Excel, ja que la fareu servir per escriure un codi senzill.
- Obriu Microsoft Excel. Tingueu en compte que s'espera que el codi proporcionat en aquest tutorial funcioni a Excel 2007 i posteriors.
- En un full de treball buit, afegiu la taula següent:

- Ara seguiu endavant i definiu un rang anomenat prement: Fórmules>>Defineix nom
![Com establir un color de cel·la d'Excel segons una condició amb VBA? Com establir un color de cel·la d'Excel segons una condició amb VBA?]()
Canviar el color interior de la cel·la en funció del valor amb Cell.Interior.Color
- Premeu l' entrada de desenvolupador a la cinta.
- Premeu Visual Basic o Alt+F11 per obrir el vostre editor VBA per a desenvolupadors.
- A continuació, ressalteu el full de treball en què voleu executar el vostre codi. Alternativament, seleccioneu un mòdul que tingui el vostre codi VBA.
- Aneu endavant i enganxeu aquest codi. Al nostre exemple, modificarem el color interior d'un rang de cel·les a valors RGB de cel·les específics corresponents als colors vermell, groc i verd.
- Concretament fem servir el mètode Excel VBA Cell.Interior.Color i passem el valor RGB o índex de color corresponent.
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
- Executeu el vostre codi, ja sigui prement F5 o Executar>> Executar Sub/Formulari d'usuari.
- Notareu que el tauler d'estat s'ha omplert tal com es mostra a continuació:
![Com establir un color de cel·la d'Excel segons una condició amb VBA? Com establir un color de cel·la d'Excel segons una condició amb VBA?]()
- Deseu el codi i tanqueu l'editor VBA.