Hoppa till huvudinnehåll

Hur färgar jag diagram baserat på cellfärg i Excel?

Normalt är färgen på kolumnraden standard när du skapar ett diagram. Om du behöver formatera fylld färg på varje stapel baserat på cellfärgerna enligt följande skärmdump, hur kan du lösa det i Excel?

Färga diagrammet med en eller flera dataserier baserat på cellfärg med VBA-koder

Färga diagrammet med en eller flera dataserier baserat på cellfärg med en fantastisk funktion


Färga diagrammet med en eller flera dataserier baserat på cellfärg med VBA-koder

Färga diagrammet med en dataserie baserat på cellfärg

Med följande VBA-kod kan du snabbt ändra färgen på diagrammet som innehåller en dataserie baserat på de ursprungliga cellvärdena, gör så här:

1. Skapa först ett stapel- eller kolumndiagram enligt följande skärmdump (Välj data och klicka Insert > Infoga kolumn eller stapeldiagram):

2. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

3. Klicka Insert > Modulernaoch klistra in följande kod i modulfönstret.

VBA-kod: Färgkortsfält med en dataserie baserat på cellfärg:

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

Anmärkningar: I ovanstående kod, Diagram 1 är det diagramnamn som du vill använda, ändra det till ditt eget.

4. När du har klistrat in ovanstående kod, tryck på F5 nyckel för att köra den här koden, och färgen på diagramstaplarna har ändrats baserat på den ursprungliga cellfärgen, se skärmdump:


Färga diagrammet med flera dataserier baserat på cellfärg

Om ditt diagram med flera dataserier, använd följande VBA-kod:

1. Skapa stapeln eller kolumndiagrammet som innehåller flera dataserier enligt följande skärmdump:

2. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

3. Klicka Insert > Modulernaoch klistra in följande kod i modulfönstret.

VBA-kod: Färgdiagramfält med flera dataserier baserat på cellfärg:

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. Tryck sedan på F5 nyckel för att köra den här koden, kartstaplarna är fyllda med originalceller färg på en gång, se skärmdump:

Anmärkningar:

1. I ovanstående kod, Diagram 1 är det diagramnamn som du vill använda, ändra det till ditt eget.

2. Denna kod kan också tillämpas på ett linjediagram.


Färga diagrammet med en eller flera dataserier baserat på cellfärg med en fantastisk funktion

Genom att använda ovanstående koder kommer färgerna i diagrammet inte alltid att matchas med cellfärgen, för att lösa detta problem, här introducerar jag ett användbart verktyg - Ändra diagramfärg enligt cellfärg of Kutools för Excel, med den här praktiska funktionen kan du snabbt och enkelt färglägga diagrammet baserat på cellfärgen.

Notera: Att tillämpa detta Ändra diagramfärg enligt cellfärgFör det första bör du ladda ner Kutools för Excel, och använd sedan funktionen snabbt och enkelt.

När du har installerat Kutools för Excel, gör så här:

1. Först ska du infoga det diagram som du vill använda och sedan välja diagrammet och klicka sedan på Kutools > Diagram > Diagramverktyg > Ändra diagramfärg enligt cellfärg, se skärmdump:

2. Och sedan visas en snabbruta, klicka OK knapp.

3. Nu har diagrammet du valt färgats baserat på cellfärgerna som visas nedan:

Färga diagrammet med en dataserie baserat på cellfärg

Färga diagrammet med flera dataserier baserat på cellfärg

Ladda ner och testa gratis Kutools för Excel nu!


Fler relativa diagramartiklar:

  • Skapa ett stapeldiagram som ligger över ett annat stapeldiagram i Excel
  • När vi skapar ett grupperat stapel- eller kolumndiagram med två dataserier kommer de två dataserierna att visas sida vid sida. Men ibland måste vi använda överlägget eller det överlappade stapeldiagrammet för att jämföra de två dataserierna tydligare. I den här artikeln kommer jag att prata om hur man skapar ett överlappt stapeldiagram i Excel.
  • Kopiera ett diagramformat till andra i Excel
  • Antag att det finns flera olika typer av diagram i ditt kalkylblad, du har formaterat ett diagram efter ditt behov, och nu vill du tillämpa detta diagramformat på andra diagram. Naturligtvis kan du formatera andra manuellt en efter en, men det kommer att slösa mycket tid, finns det några snabba eller praktiska sätt för dig att kopiera ett diagramformat till andra i Excel?
  • Markera max- och min datapunkter i ett diagram
  • Om du har ett kolumndiagram som du vill markera de högsta eller minsta datapunkterna med olika färger för att överträffa dem enligt följande skärmdump. Hur kunde du identifiera de högsta och minsta värdena och sedan markera datapunkterna i diagrammet snabbt?
  • Skapa ett stegdiagram i Excel
  • Ett stegdiagram används för att visa de förändringar som inträffat med oregelbundna intervaller, det är en utökad version av ett linjediagram. Men det finns inget direkt sätt att skapa det i Excel. Den här artikeln kommer jag att prata om hur man skapar ett stegschema steg för steg i Excel-kalkylbladet.
  • Skapa framstegsdiagram i Excel
  • I Excel kan förloppsindikatorn hjälpa dig att övervaka framstegen mot ett mål enligt följande skärmdump. Men hur kan du skapa ett framstegsdiagram i Excel-kalkylbladet?

Bästa kontorsproduktivitetsverktyg

🤖 Kutools AI Aide: Revolutionera dataanalys baserat på: Intelligent utförande   |  Generera kod  |  Skapa anpassade formler  |  Analysera data och generera diagram  |  Anropa Kutools funktioner.
Populära funktioner: Hitta, markera eller identifiera dubbletter   |  Ta bort tomma rader   |  Kombinera kolumner eller celler utan att förlora data   |   Rund utan formel ...
Superuppslag: Flera kriterier VLookup    VLookup med flera värden  |   VSök över flera ark   |   Fuzzy Lookup ....
Avancerad rullgardinslista: Skapa snabbt en rullgardinslista   |  Beroende rullgardinslista   |  Flervals-rullgardinslista ....
Kolumnhanterare: Lägg till ett specifikt antal kolumner  |  Flytta kolumner  |  Växla synlighetsstatus för dolda kolumner  |  Jämför intervall och kolumner ...
Utvalda funktioner: Rutnätsfokus   |  Designvy   |   Stor formelbar    Arbetsbok & Bladhanterare   |  Resursbibliotek (Automatisk text)   |  Datumväljare   |  Kombinera arbetsblad   |  Kryptera/Dekryptera celler    Skicka e-postmeddelanden efter lista   |  Superfilter   |   Specialfilter (filtrera fet/kursiv/genomstruken...) ...
Topp 15 verktygssatser12 text verktyg (lägga till text, Ta bort tecken, ...)   |   50+ Diagram Typer (Gantt Chart, ...)   |   40+ Praktiskt Formler (Beräkna ålder baserat på födelsedag, ...)   |   19 Införande verktyg (Infoga QR-kod, Infoga bild från sökväg, ...)   |   12 Konvertering verktyg (Siffror till ord, Valutaväxling, ...)   |   7 Slå ihop och dela verktyg (Avancerade kombinera rader, Dela celler, ...)   |   ... och mer

Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid.  Klicka här för att få den funktion du behöver mest...

Beskrivning


Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
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