Excel VBA y la paleta de colores
Excel emplea una paleta de 56 colores predefinidos. Puedes cambiar estos colores desde Herramientas – Opciones – Color o desde código VBA. Abajo presentamos unos ejemplos de código VBA para modificar la paleta de colores del libro Excel.
Por desgracia, a muchos de nosotros los colores de la hoja Excel predefinidos por Microsoft parecen bastante fuertes, y a veces hacen que la hoja sea difícil de leer.
Los colores forman parte del diseño del libro, son importantes para una buena presentación de un informe. Pero por regla general tampoco se debe pasar utilizando demasiado color.
Excel y Colores RGB
Excel expresa colores del formato RGB (Red, Green, Blue). Red, Green, Blue son variables cuales expresan el grado de estos colores, valores entre 1 y 255. Tambien podemos expresar el color en formato HEX (hexadecimal).
KfmDesign presenta una buena página de Colores RGB y HEX.
Cambiar colores de la paleta Excel
Entonces, ¿qué podemos hacer para que Excel siempre tenga los colores definidos por ti? Una solución sería crear una plantilla con nuestros formatos. Excel llamará esta plantilla al crear un libro nuevo.
Otra solución es crear una macro cual nosotros podemos llamar cuando nos convenga. Esto nos da un poco más de control. En este ejemplo cambiaremos los colores 40 y 41 (de los 56) de la paleta.
ActiveWorkbook.Colors(40) = RGB(234, 234, 234) ActiveWorkbook.Colors(41) = RGB(236, 235, 194) |
Código VBA para cambiar colores de celdas Excel
Para cambiar los colores aplicados a una celda ejecutamos una de las siguientes instrucciones.
Selection.Interior.ColorIndex = 40 |
Selection.Interior.ColorIndex = _ xlNone/xlColorIndexAutomatic/xlColorIndexNone |
Selection.Interior.Color = RGB(234, 234, 234) |
Selection.Interior.Color = ?000066? 'hexadecimal |
Resetear paleta de colores
Para resetear los colores a los predefinidos de Excel, aplicamos el método ResetColors.
ActiveWorkbook.ResetColors |
Copiar colores de otro libro Excel
También se puede copiar (importar) la paleta de otro libro Excel. Para esto cambiamos la propiedad Colors del libro.
ActiveWorkbook.Colors = Workbooks("C:\MiLibroDeColores.xls").Colors |
Devolver colores del libro Excel actual
A lo mejor nos interesa saber que color tiene una celda. La propiedad ColorIndex nos ayuda.
i = Cells(1, 1).Interior.ColorIndex MsgBox i |
Aplicar colores por condiciones en Excel VBA
Podemos colorear celdas por condiciones, evaluando una cadena de texto, por ejemplo.
For Each Item In Intersect(ActiveSheet.UsedRange, Selection.Cells) If Item.Text = "ColaCao" Then Item.Interior.ColorIndex = 44 End If Next |


RSS