2008-12-13 13 views
14

Como parte de un programa VBA, tengo que establecer los colores de fondo de ciertas celdas en verde, amarillo o rojo, según sus valores (básicamente un monitor de estado donde el verde es correcto, el amarillo es el límite y el rojo es peligroso).¿Cómo configuro el color de fondo de las celdas de Excel usando VBA?

Sé cómo establecer los valores de esas celdas, pero cómo configuro el color de fondo.

Respuesta

37

Puede utilizar cualquiera:

ActiveCell.Interior.ColorIndex = 28 

o

ActiveCell.Interior.Color = RGB(255,0,0) 
+5

En el primer ejemplo, ¿cómo sabe a qué color apunta ColorIndex? – awe

+0

@awe - Los colores y números están aquí: https://msdn.microsoft.com/en-us/library/cc296089(v=office.12).aspx – grahamesd

1

o, alternativamente, no se podía molestar a la codificación por ella y utilizar la función de 'formato condicional' en Excel que permitirá establecer el color de fondo y color de fuente basado en el valor de celda.

Aquí solo hay dos variables, por lo tanto configure el valor predeterminado en amarillo y luego sobrescriba cuando el valor sea mayor o menor que sus valores de umbral.

10

Este es un ejemplo perfecto de dónde debe utilizar la grabadora de macros. Encienda la grabadora y configure el color de las celdas a través de la IU. Detenga el grabador y revise la macro. Generará un montón de código extraño, pero también le mostrará la sintaxis que funciona para lo que está tratando de lograr. Elimine lo que no necesita y modifique (si es necesario) lo que queda.

-2

No funciona si usa la función, pero funciona si sub. Sin embargo, no puede llamar a un sub de una celda con fórmula.

Cuestiones relacionadas