Saltar al contenido principal

¿Cómo colorear el gráfico basado en el color de la celda en Excel?

Normalmente, cuando crea un gráfico, el color de la barra de la columna es el predeterminado. Si necesita formatear el color relleno en cada barra en función de los colores de la celda como se muestra en la siguiente captura de pantalla, ¿cómo podría resolverlo en Excel?

Colorea el gráfico con una o varias series de datos según el color de la celda con códigos VBA

Colorea el gráfico con una o varias series de datos según el color de la celda con una característica sorprendente


Colorea el gráfico con una o varias series de datos según el color de la celda con códigos VBA

Colorea el gráfico con una serie de datos según el color de la celda

Con el siguiente código de VBA, puede cambiar rápidamente el color del gráfico que contiene una serie de datos según el color de los valores de celda originales, haga lo siguiente:

1. Primero, cree un gráfico de barras o columnas como se muestra en la siguiente captura de pantalla (seleccione los datos y haga clic en recuadro > Insertar gráfico de columnas o barras):

2. Mantenga pulsado el ALT + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.

3. Hacer clic recuadro > Móduloy pegue el siguiente código en la ventana del módulo.

Código de VBA: barras de la tabla de colores con una serie de datos basada en el color de la celda:

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 Sub

Note: En el código anterior, Gráfico 1 es el nombre del gráfico que desea utilizar, cámbielo por el suyo.

4. Después de pegar el código anterior, presione F5 clave para ejecutar este código, y el color de las barras del gráfico se ha cambiado según el color de la celda original, vea la captura de pantalla:


Colorea el gráfico con varias series de datos según el color de la celda

Si su gráfico tiene varias series de datos, aplique el siguiente código VBA:

1. Cree el gráfico de barras o columnas que contiene varias series de datos como se muestra en la siguiente captura de pantalla:

2. Mantenga pulsado el ALT + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.

3. Hacer clic recuadro > Móduloy pegue el siguiente código en la ventana Módulo.

Código VBA: barras de la tabla de colores con varias series de datos basadas en el color de la celda:

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

4. Entonces presione F5 para ejecutar este código, las barras del gráfico se llenan con el color de las celdas originales a la vez, vea la captura de pantalla:

Notas:

1. En el código anterior, Gráfico 1 es el nombre del gráfico que desea utilizar, cámbielo por el suyo.

2. Este código también se puede aplicar a un gráfico de líneas.


Colorea el gráfico con una o varias series de datos según el color de la celda con una característica sorprendente

Al usar los códigos anteriores, los colores del gráfico no siempre coincidirán con el color de la celda, para resolver este problema, aquí presentaré una herramienta útil: Cambiar el color del gráfico según el color de la celda of Kutools for Excel, con esta práctica función, puede colorear el gráfico según el color de la celda de forma rápida y sencilla.

Nota:  Para aplicar esto Cambiar el color del gráfico según el color de la celda, en primer lugar, debe descargar el Kutools for Excely, a continuación, aplique la función de forma rápida y sencilla.

Después de instalar Kutools for Excel, haz lo siguiente:

1. Primero, inserte el gráfico que desea usar, luego seleccione el gráfico y luego haga clic en Kutools > Gráficas > Herramientas de gráficos > Cambiar el color del gráfico según el color de la celda, ver captura de pantalla:

2. Y luego, aparece un cuadro emergente, haga clic en OK del botón.

3. Ahora, el gráfico que seleccionó se ha coloreado en función de los colores de las celdas, como se muestra a continuación:

Colorea el gráfico con una serie de datos según el color de la celda

Colorea el gráfico con varias series de datos según el color de la celda

¡Descargue y pruebe Kutools para Excel ahora!


Más artículos de gráficos relativos:

  • Cree un gráfico de barras superpuesto a otro gráfico de barras en Excel
  • Cuando creamos un gráfico de columnas o barras agrupadas con dos series de datos, las dos barras de series de datos se mostrarán una al lado de la otra. Pero, a veces, necesitamos usar la superposición o el gráfico de barras superpuestas para comparar las dos series de datos con mayor claridad. En este artículo, hablaré sobre cómo crear un gráfico de barras superpuestas en Excel.
  • Copie un formato de gráfico a otros en Excel
  • Suponiendo que hay varios tipos diferentes de gráficos en su hoja de trabajo, ha formateado un gráfico según sus necesidades y ahora desea aplicar este formato de gráfico a otros gráficos. Por supuesto, puede formatear otros manualmente uno por uno, pero esto perderá mucho tiempo, ¿hay alguna forma rápida o práctica de copiar un formato de gráfico a otros en Excel?
  • Resalte los puntos de datos máximos y mínimos en un gráfico
  • Si tiene un gráfico de columnas en el que desea resaltar los puntos de datos más altos o más pequeños con diferentes colores para destacarlos, como se muestra en la siguiente captura de pantalla. ¿Cómo podría identificar los valores más altos y más pequeños y luego resaltar los puntos de datos en el gráfico rápidamente?
  • Crear un diagrama de pasos en Excel
  • Se utiliza un gráfico de pasos para mostrar los cambios ocurridos a intervalos irregulares, es una versión extendida de un gráfico de líneas. Pero no hay una forma directa de crearlo en Excel. En este artículo, hablaré sobre cómo crear un gráfico de pasos paso a paso en la hoja de cálculo de Excel.
  • Crear gráfico de barras de progreso en Excel
  • En Excel, el gráfico de barras de progreso puede ayudarlo a monitorear el progreso hacia un objetivo como se muestra en la siguiente captura de pantalla. Pero, ¿cómo podría crear un gráfico de barras de progreso en una hoja de cálculo de Excel?

Las mejores herramientas de productividad de oficina

🤖 Asistente de IA de Kutools: Revolucionar el análisis de datos basado en: Ejecución inteligente   |  Generar codigo  |  Crear fórmulas personalizadas  |  Analizar datos y generar gráficos  |  Invocar funciones de Kutools...
Características populares: Buscar, resaltar o identificar duplicados   |  Eliminar filas en blanco   |  Combine columnas o celdas sin perder datos   |   Ronda sin fórmula ...
Super búsqueda: Búsqueda virtual de criterios múltiples    Búsqueda V de valores múltiples  |   VLookup en varias hojas   |   Búsqueda difusa ....
Lista desplegable avanzada: Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple ....
Administrador de columnas: Agregar un número específico de columnas  |  Mover columnas  |  Toggle Estado de visibilidad de columnas ocultas  |  Comparar rangos y columnas ...
Características destacadas: Enfoque de cuadrícula   |  Vista de diseño   |   Gran barra de fórmulas    Administrador de hojas y libros de trabajo   |  Biblioteca de Recursos (Texto automático)   |  Selector de fechas   |  Combinar hojas de trabajo   |  Cifrar/descifrar celdas    Enviar correos electrónicos por lista   |  Súper filtro   |   Filtro especial (filtro negrita/cursiva/tachado...) ...
Los 15 mejores conjuntos de herramientas12 Texto Herramientas (Añadir texto, Quitar caracteres, ...)   |   50+ Tabla Tipos (Diagrama de Gantt, ...)   |   40+ Práctico Fórmulas (Calcular la edad según el cumpleaños, ...)   |   19 Inserción Herramientas (Insertar código QR, Insertar imagen desde la ruta, ...)   |   12 Conversión Herramientas (Números a palabras, Conversión de Moneda, ...)   |   7 Fusionar y dividir Herramientas (Filas combinadas avanzadas, Células partidas, ...)   |   ... y más

Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo.  Haga clic aquí para obtener la función que más necesita...

Descripción


Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
Comments (8)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
For more than 1 Chart:



Sub CellColorsToChart()'Updateby Extendoffice
Dim xChart As Chart
Dim I As Long, J As Long, Y As Long
Dim xRowsOrCols As Long, xSCount As Long Dim xRg As Range, xCell As Range
On Error Resume Next

For Y = 1 To 100Set xChart = ActiveSheet.ChartObjects("Chart "&Y).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 WithNext
Next
End Sub

This comment was minimized by the moderator on the site
If i have more charts in my sheet? do you have another code?
This comment was minimized by the moderator on the site
It is ok. But... why simply not going to "Format Legend Entry" option in every data series in the chart, and go "Fill" and make it the color you want. I mean... all is ok, but a VBA code for this simple task is kinda overkill. But thanks. Appreciate you share it.
This comment was minimized by the moderator on the site
i cant make it work :( is this supposed to work on a stacked bar chart? Thanks
This comment was minimized by the moderator on the site
This was an awesome start, but the colors of the chart and the cells don't always match. Any idea why?
This comment was minimized by the moderator on the site
Thank you for the codes! How would you add a conditional format when the format is already established?
This comment was minimized by the moderator on the site
Thank you for these codes! This was exactly what I've been looking for with one detail not quite fitting. When I ran the code, the bar graphs colored in correctly but not legend which stayed unchanged. Is there a variation to the code that would include the legend? Or is there a way to match the Legend to the changes in the chart without a code?
This comment was minimized by the moderator on the site
If i have more charts in my sheet? do you have another code?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations