02/05/2018
Al crear un gráfico de columnas o barras en Excel, es común que el programa asigne colores predeterminados que no guardan relación con la paleta de colores que hemos usado en nuestros datos. Sin embargo, para lograr una consistencia visual impecable en dashboards, informes y presentaciones, es fundamental que los colores del gráfico reflejen exactamente los colores de las celdas de origen. Esta sincronización no solo mejora la estética, sino que también facilita una interpretación más rápida y intuitiva de la información, especialmente cuando el color se utiliza para codificar categorías o resaltar valores específicos. Aunque Excel no ofrece una función nativa para esta tarea, existen métodos increíblemente eficaces para lograrlo.

En este artículo, exploraremos en profundidad diversas soluciones prácticas para que puedas mapear los colores de relleno de tus celdas, ya sean aplicados manualmente o mediante reglas, directamente a las barras de tus gráficos. Desde el uso de códigos VBA hasta herramientas especializadas, te guiaremos paso a paso para que tus visualizaciones de datos sean más coherentes y profesionales que nunca.
¿Por Qué es Importante la Coherencia de Color en los Gráficos?
La visualización de datos es un arte y una ciencia. El objetivo es comunicar información compleja de la forma más clara y eficiente posible. El color es una de las herramientas más poderosas en este proceso. Cuando los colores de un gráfico se corresponden con los de una tabla de datos, se obtienen múltiples beneficios:
- Interpretación Rápida: El cerebro humano procesa el color más rápido que el texto. Una leyenda de colores coherente permite al espectador asociar instantáneamente una barra del gráfico con su categoría correspondiente en la tabla.
- Reducción de la Carga Cognitiva: Se elimina la necesidad de buscar y comparar constantemente entre la leyenda del gráfico y los datos, haciendo que el informe sea más fácil de digerir.
- Refuerzo de la Marca o Estándar: En entornos corporativos, mantener una paleta de colores consistente es clave para el branding y la profesionalidad de los informes.
- Claridad en la Segmentación: Si usas colores para agrupar datos (por ejemplo, verde para resultados positivos, rojo para negativos), replicar estos colores en el gráfico hace que el mensaje sea inconfundible.
Método 1: Automatización con Códigos VBA
Para aquellos que se sienten cómodos con un poco de automatización, Visual Basic for Applications (VBA) es una solución potente y gratuita. Permite crear macros que leen el color de cada celda y lo aplican al punto de datos correspondiente en el gráfico. A continuación, veremos cómo hacerlo para gráficos con una y varias series de datos.
Colorear un Gráfico con una Sola Serie de Datos
Este escenario es ideal para gráficos simples donde cada barra representa un elemento de una única categoría. Si has coloreado manualmente tus celdas y quieres que el gráfico lo refleje, este script es para ti.
Pasos a seguir:
- Crear el Gráfico: Selecciona tu rango de datos y ve a la pestaña Insertar > Insertar Gráfico de Columnas o Barras. Se creará un gráfico con los colores por defecto de Excel.
- Abrir el Editor de VBA: Presiona las teclas
ALT + F11. Esto abrirá la ventana de Microsoft Visual Basic para Aplicaciones. - Insertar un Módulo: En el editor de VBA, haz clic en el menú Insertar > Módulo. Se abrirá una ventana de código en blanco.
- Pegar el Código: Copia y pega el siguiente código VBA en la ventana del módulo.
Sub ColorChartColumnsbyCellColor() 'Updateby Extendoffice Dim xChart As Chart Dim I As Long, xRows As Long Dim xRg As Range, xCell As Range On Error Resume Next Set xChart = ActiveSheet.ChartObjects("Chart 1").Chart If xChart Is Nothing Then Exit Sub With xChart.SeriesCollection(1) Set xRg = ActiveSheet.Range(Split(Split(.Formula, ",")(1), "!")(1)) xRows = xRg.Rows.Count Set xRg = xRg(1) For I = 1 To xRows .Points(I).Format.Fill.ForeColor.RGB = ThisWorkbook.Colors(xRg.Offset(I - 1, 0).Interior.ColorIndex) Next End With End SubNota importante: El código asume que tu gráfico se llama "Chart 1". Si tiene otro nombre, debes actualizarlo en la línea Set xChart = ActiveSheet.ChartObjects("Chart 1").Chart. Puedes encontrar el nombre de tu gráfico seleccionándolo y mirando el "Cuadro de Nombres" a la izquierda de la barra de fórmulas.
- Ejecutar la Macro: Con el cursor dentro del código, presiona la tecla
F5. ¡Magia! Las barras de tu gráfico ahora tendrán los mismos colores que tus celdas de origen. - Guardar el Archivo: Para que la macro se conserve, debes guardar tu libro de Excel como un "Libro de Excel habilitado para macros (*.xlsm)".
Colorear un Gráfico con Múltiples Series de Datos
Si tu gráfico es más complejo y compara varias series de datos (por ejemplo, ventas de varios productos a lo largo de los meses), también puedes usar VBA para sincronizar los colores. El proceso es muy similar.
Pasos a seguir:
- Crear el Gráfico: Genera tu gráfico de columnas o barras agrupadas a partir de tus datos.
- Abrir el Editor de VBA e Insertar Módulo: Sigue los pasos 2 y 3 del método anterior.
- Pegar el Código para Múltiples Series:
Sub CellColorsToChart() 'Updateby Extendoffice Dim xChart As Chart Dim I As Long, J As Long Dim xRowsOrCols As Long, xSCount As Long Dim xRg As Range, xCell As Range On Error Resume Next Set xChart = ActiveSheet.ChartObjects("Chart 1").Chart If xChart Is Nothing Then Exit Sub xSCount = xChart.SeriesCollection.Count For I = 1 To xSCount J = 1 With xChart.SeriesCollection(I) Set xRg = ActiveSheet.Range(Split(Split(.Formula, ",")(2), "!")(1)) If xSCount > 4 Then xRowsOrCols = xRg.Columns.Count Else xRowsOrCols = xRg.Rows.Count End If For Each xCell In xRg .Points(J).Format.Fill.ForeColor.RGB = ThisWorkbook.Colors(xCell.Interior.ColorIndex) .Points(J).Format.Line.ForeColor.RGB = ThisWorkbook.Colors(xCell.Interior.ColorIndex) J = J + 1 Next End With Next End Sub- Ejecutar y Guardar: Presiona
F5para ejecutar el código y observa cómo cada segmento de barra adopta el color de su celda correspondiente. Recuerda guardar como archivo.xlsm.
Método 2: La Solución Sencilla con Kutools para Excel
Si el uso de VBA te parece intimidante o si trabajas en un entorno donde las macros están restringidas, existe una alternativa excepcionalmente fácil de usar: la herramienta Kutools para Excel. Este es un complemento (add-in) que añade más de 300 funciones avanzadas a Excel, incluyendo una diseñada específicamente para esta tarea.
La función "Cambiar Color del Gráfico Basado en el Color de Celda" de Kutools automatiza todo el proceso con un par de clics, sin necesidad de escribir una sola línea de código. Es ideal para usuarios que necesitan realizar esta tarea con frecuencia y valoran la rapidez y la simplicidad.
Pasos a seguir (después de instalar Kutools):
- Crear el Gráfico: Como siempre, comienza por crear tu gráfico de barras o columnas.
- Seleccionar la Herramienta: Selecciona el gráfico. Luego, ve a la nueva pestaña Kutools > Gráficos > Herramientas de Gráficos > Cambiar Color del Gráfico Basado en el Color de Celda.
- Confirmar: Aparecerá un cuadro de diálogo de confirmación. Simplemente haz clic en Aceptar.
¡Y eso es todo! El gráfico se actualizará instantáneamente para reflejar los colores de las celdas, tanto para gráficos de una como de múltiples series. La gran ventaja es que si más tarde cambias los colores de las celdas, solo tienes que volver a aplicar la función con un clic para actualizar el gráfico.
Tabla Comparativa: VBA vs. Kutools
| Característica | Solución VBA | Solución con Kutools |
|---|---|---|
| Costo | Gratuito (incluido en Excel) | Requiere la compra del complemento (ofrece prueba gratuita) |
| Facilidad de Uso | Requiere conocimientos básicos de VBA y manejo de macros. | Extremadamente fácil, basado en clics de menú. |
| Velocidad | Rápido, pero requiere abrir el editor y ejecutar la macro. | Instantáneo, con solo dos clics. |
| Actualizaciones | No es dinámico. Se debe re-ejecutar la macro si los colores de las celdas cambian. | No es dinámico, pero la re-aplicación es trivialmente sencilla. |
| Requisitos | Tener las macros habilitadas y guardar el archivo en formato .xlsm. | Tener el complemento Kutools para Excel instalado. |
Preguntas Frecuentes (FAQ)
- P: ¿Estos métodos funcionan si los colores de las celdas provienen de un Formato Condicional?
- R: Los códigos VBA presentados aquí leen la propiedad
.Interior.ColorIndex, que corresponde al color de relleno aplicado manualmente. No leen el color resultante del formato condicional. Para lograrlo se necesitaría un código VBA más complejo que evalúe las reglas de formato condicional. - P: ¿Tengo que ejecutar la macro VBA cada vez que cambio un color en mis celdas?
- R: Sí. La sincronización no es dinámica. La macro es una acción que se ejecuta una vez. Si modificas los colores de origen, simplemente debes volver a ejecutar la macro (presionando F5 en el editor o asignándola a un botón) para actualizar el gráfico.
- P: ¿Qué hago si mi gráfico no se llama "Chart 1" y el código no funciona?
- R: Para encontrar el nombre exacto de tu gráfico, haz clic sobre él. El nombre aparecerá en el "Cuadro de Nombres", que está a la izquierda de la barra de fórmulas. Copia ese nombre y pégalo entre las comillas en la línea de código VBA correspondiente (
ActiveSheet.ChartObjects("TuNombreDeGrafico")). - P: ¿Es seguro utilizar macros de VBA?
- R: Sí, siempre que provengan de fuentes confiables o que entiendas lo que hace el código. Excel tiene configuraciones de seguridad para macros. Al guardar un archivo como .xlsm, estás indicando que contiene código. Al abrirlo, es posible que necesites hacer clic en "Habilitar Contenido" para permitir que las macros se ejecuten.
Si quieres conocer otros artículos parecidos a Sincroniza Colores de Gráficos y Celdas en Excel puedes visitar la categoría Pastelería.
