Vai al contenuto principale

Come colorare il grafico in base al colore della cella in Excel?

Normalmente, quando crei un grafico, il colore della barra delle colonne è il colore predefinito. Se è necessario formattare il colore pieno su ciascuna barra in base ai colori delle celle come mostrato nella seguente schermata, come è possibile risolverlo in Excel?

Colora il grafico con una o più serie di dati in base al colore della cella con codici VBA

Colora il grafico con una o più serie di dati in base al colore della cella con una funzionalità straordinaria


Colora il grafico con una o più serie di dati in base al colore della cella con codici VBA

Colora il grafico con una serie di dati basata sul colore della cella

Con il seguente codice VBA, puoi cambiare rapidamente il colore del grafico che contiene una serie di dati in base al colore dei valori della cella originale, per favore fai come segue:

1. Innanzitutto, crea un grafico a barre o a colonne come mostrato nella seguente schermata (seleziona i dati e fai clic su inserire > Inserisci grafico a colonne o a barre):

2. Tieni premuto il ALT + F11 chiavi per aprire il Microsoft Visual Basic, Applications Edition finestra.

3. Clic inserire > Modulie incolla il codice seguente nella finestra del modulo.

Codice VBA: barre del grafico a colori con una serie di dati basata sul colore della cella:

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:: Nel codice sopra, grafico 1 è il nome del grafico che desideri utilizzare, modificalo con il tuo.

4. Dopo aver incollato il codice sopra, premere F5 chiave per eseguire questo codice e il colore delle barre del grafico è stato modificato in base al colore della cella originale, vedi screenshot:


Colora il grafico con più serie di dati in base al colore della cella

Se il tuo grafico con più serie di dati, applica il seguente codice VBA:

1. Si prega di creare la barra o il grafico a colonne che contiene più serie di dati come mostrato nella seguente schermata:

2. Tieni premuto il ALT + F11 chiavi per aprire il Microsoft Visual Basic, Applications Edition finestra.

3. Clic inserire > Modulie incolla il codice seguente nella finestra del modulo.

Codice VBA: barre del grafico a colori con più serie di dati in base al colore della cella:

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. Quindi premere F5 tasto per eseguire questo codice, le barre del grafico vengono riempite con il colore delle celle originali contemporaneamente, vedi screenshot:

Note:

1. Nel codice sopra, grafico 1 è il nome del grafico che desideri utilizzare, modificalo con il tuo.

2. Questo codice può essere applicato anche a un grafico a linee.


Colora il grafico con una o più serie di dati in base al colore della cella con una funzionalità straordinaria

Usando i codici sopra, i colori del grafico non saranno sempre abbinati al colore della cella, per risolvere questo problema, qui, introdurrò uno strumento utile - Cambia il colore del grafico in base al colore della cella of Kutools for Excel, con questa pratica funzione, puoi colorare il grafico in base al colore della cella in modo rapido e semplice.

Nota: Per applicare questo Cambia il colore del grafico in base al colore della cella, in primo luogo, dovresti scaricare il file Kutools for Excele quindi applica la funzione in modo rapido e semplice.

Dopo l'installazione Kutools for Excel, per favore fai come questo:

1. Innanzitutto, inserisci il grafico che desideri utilizzare, quindi seleziona il grafico, quindi fai clic su Kutools > Grafici > Strumenti grafici > Cambia il colore del grafico in base al colore della cella, vedi screenshot:

2. E poi, viene visualizzata una finestra di messaggio, fare clic OK pulsante.

3. Ora, il grafico selezionato è stato colorato in base ai colori delle celle come mostrato nelle schermate seguenti:

Colora il grafico con una serie di dati basata sul colore della cella

Colora il grafico con più serie di dati in base al colore della cella

Scarica e prova gratuitamente Kutools per Excel ora!


Articoli grafici più relativi:

  • Crea un grafico a barre sovrapponendo un altro grafico a barre in Excel
  • Quando creiamo una barra raggruppata o un istogramma con due serie di dati, le due barre della serie di dati verranno mostrate una accanto all'altra. Tuttavia, a volte, è necessario utilizzare l'overlay o il grafico a barre sovrapposto per confrontare le due serie di dati in modo più chiaro. In questo articolo, parlerò di come creare un grafico a barre sovrapposto in Excel.
  • Copia un formato grafico su altri in Excel
  • Supponendo che ci siano più tipi diversi di grafici nel tuo foglio di lavoro, hai formattato un grafico in base alle tue esigenze e ora vuoi applicare questa formattazione del grafico ad altri grafici. Naturalmente, puoi formattare gli altri manualmente uno per uno, ma questo farà perdere molto tempo, ci sono modi rapidi o pratici per copiare un formato di grafico su altri in Excel?
  • Evidenzia i punti dati massimi e minimi in un grafico
  • Se si dispone di un grafico a colonne in cui si desidera evidenziare i punti dati più alti o più piccoli con colori diversi per distinguerli come mostrato nella seguente schermata. Come potresti identificare i valori più alti e più piccoli e quindi evidenziare rapidamente i punti dati nel grafico?
  • Crea un grafico a passi in Excel
  • Un grafico a gradini viene utilizzato per mostrare le modifiche avvenute a intervalli irregolari, è una versione estesa di un grafico a linee. Ma non esiste un modo diretto per crearlo in Excel. In questo articolo, parlerò di come creare un grafico passo dopo passo nel foglio di lavoro di Excel.
  • Crea grafico a barre di avanzamento in Excel
  • In Excel, il grafico a barre di avanzamento può aiutarti a monitorare i progressi verso un obiettivo come mostrato nella seguente schermata. Ma come potresti creare un grafico a barre di avanzamento nel foglio di lavoro di Excel?

I migliori strumenti per la produttività in ufficio

🤖 Assistente AI di Kutools: Rivoluziona l'analisi dei dati basandosi su: Esecuzione intelligente   |  Genera codice  |  Crea formule personalizzate  |  Analizzare i dati e generare grafici  |  Richiama le funzioni di Kutools...
Funzioni popolari: Trova, evidenzia o identifica i duplicati   |  Elimina righe vuote   |  Combina colonne o celle senza perdere dati   |   Round senza formula ...
Super ricerca: VLookup a criteri multipli    VLookup a valori multipli  |   VLookup su più fogli   |   Ricerca fuzzy ....
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa   |  Elenco a discesa dipendente   |  Elenco a discesa a selezione multipla ....
Gestore di colonna: Aggiungi un numero specifico di colonne  |  Sposta colonne  |  Attiva/disattiva lo stato di visibilità delle colonne nascoste  |  Confronta intervalli e colonne ...
Funzionalità in primo piano: Messa a fuoco della griglia   |  Vista di progettazione   |   Grande barra delle formule    Gestore di cartelle di lavoro e fogli   |  Resource Library (Testo automatico)   |  Date picker   |  Combina fogli di lavoro   |  Crittografa/decrittografa le celle    Invia e-mail per elenco   |  Super filtro   |   Filtro speciale (filtro grassetto/corsivo/barrato...) ...
I 15 migliori set di strumenti12 Testo Strumenti (aggiungi testo, Rimuovi personaggi, ...)   |   50+ Grafico Tipi (Diagramma di Gantt, ...)   |   40+ Pratico Formule (Calcola l'età in base al compleanno, ...)   |   19 Inserimento Strumenti (Inserisci il codice QR, Inserisci immagine dal percorso, ...)   |   12 Conversione Strumenti (Numeri in parole, Conversione di valuta, ...)   |   7 Unisci e dividi Strumenti (Combina righe avanzate, Celle divise, ...)   |   ... e altro ancora

Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo.  Fai clic qui per ottenere la funzionalità di cui hai più bisogno...

Descrizione


Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
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