Přejít k hlavnímu obsahu

Jak barevný graf na základě barvy buňky v aplikaci Excel?

Normálně při vytváření grafu je výchozí barva sloupcového pruhu. Pokud potřebujete formátovat vyplněnou barvu na každém pruhu na základě barev buněk, jak ukazuje následující snímek obrazovky, jak byste ji mohli vyřešit v aplikaci Excel?

Vybarvěte graf pomocí jedné nebo více datových řad na základě barvy buněk pomocí kódů VBA

Vybarvěte graf pomocí jedné nebo více datových řad na základě barvy buněk s úžasnou funkcí


Vybarvěte graf pomocí jedné nebo více datových řad na základě barvy buněk pomocí kódů VBA

Vybarvěte graf pomocí jedné datové řady na základě barvy buňky

S následujícím kódem VBA můžete rychle změnit barvu grafu, který obsahuje jednu datovou řadu na základě původní barvy hodnot buňky, postupujte takto:

1. Nejprve vytvořte sloupcový nebo sloupcový graf podle následujícího obrázku obrazovky (Vyberte data a klikněte Vložit > Vložte sloupcový nebo sloupcový graf):

2. Podržte ALT + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

3, klikněte Vložit > Modula vložte následující kód do okna modulu.

Kód VBA: Barové grafy s jednou datovou řadou založenou na barvě buňky:

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

Poznámka: Ve výše uvedeném kódu, Graf 1 je název grafu, který chcete použít, změňte jej prosím na svůj vlastní.

4. Po vložení výše uvedeného kódu stiskněte F5 klíč ke spuštění tohoto kódu a barva pruhů grafu byla změněna na základě původní barvy buňky, viz screenshot:


Vybarvěte graf pomocí více datových řad na základě barvy buňky

Pokud váš graf s více datovými řadami, použijte následující kód VBA:

1. Vytvořte prosím sloupcový nebo sloupcový graf, který obsahuje více datových řad, jak ukazuje následující snímek obrazovky:

2. Podržte ALT + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

3, klikněte Vložit > Modula vložte následující kód do okna modulu.

Kód VBA: Barové pruhy s více datovými řadami založenými na barvě buňky:

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. Pak stiskněte tlačítko F5 klíč ke spuštění tohoto kódu, pruhy grafu jsou vyplněny původní barvou buněk najednou, viz screenshot:

Poznámky:

1. Ve výše uvedeném kódu Graf 1 je název grafu, který chcete použít, změňte jej prosím na svůj vlastní.

2. Tento kód lze také použít na spojnicový graf.


Vybarvěte graf pomocí jedné nebo více datových řad na základě barvy buněk s úžasnou funkcí

Použitím výše uvedených kódů nebudou barvy grafu vždy odpovídat barvě buňky, k vyřešení tohoto problému zde představím užitečný nástroj - Změňte barvu grafu podle barvy buňky of Kutools pro Excel, s touto užitečnou funkcí můžete rychle a snadno vybarvit graf podle barvy buňky.

Poznámka: Použít toto Změňte barvu grafu podle barvy buňkyNejprve byste si měli stáhnout soubor Kutools pro Excela poté tuto funkci rychle a snadno aplikujte.

Po instalaci Kutools pro Excel, udělejte prosím toto:

1. Nejprve vložte graf, který chcete použít, a poté vyberte graf a poté klikněte Kutools > grafy > Nástroje grafu > Změňte barvu grafu podle barvy buňky, viz screenshot:

2. Poté se zobrazí výzva, klikněte prosím OK .

3. Nyní je graf, který jste vybrali, zbarven na základě barev buněk, jak je uvedeno níže:

Vybarvěte graf pomocí jedné datové řady na základě barvy buňky

Vybarvěte graf pomocí více datových řad na základě barvy buňky

Stáhněte si zdarma zkušební verzi Kutools pro Excel!


Více relativních článků v grafu:

  • Vytvořte sloupcový graf překrývající další sloupcový graf v aplikaci Excel
  • Když vytvoříme seskupený sloupcový nebo sloupcový graf se dvěma datovými řadami, zobrazí se dva pruhy datových řad vedle sebe. Někdy však potřebujeme použít překryvný nebo překrývající se sloupcový graf, abychom jasněji porovnali dvě datové řady. V tomto článku budu hovořit o tom, jak vytvořit překrývající se sloupcový graf v aplikaci Excel.
  • Zkopírujte jeden formát grafu ostatním v aplikaci Excel
  • Předpokládejme, že v listu existuje několik různých typů grafů, naformátovali jste jeden graf podle svých potřeb a nyní chcete použít toto formátování grafu na jiné grafy. Samozřejmě můžete ostatní formátovat ručně jeden po druhém, ale to bude ztrácet čas, existují nějaké rychlé nebo užitečné způsoby, jak zkopírovat jeden formát grafu do jiných v aplikaci Excel?
  • Zvýrazněte maximální a minimální datové body v grafu
  • Pokud máte sloupcový graf, který chcete zvýraznit nejvyšší nebo nejmenší datové body různými barvami, abyste je překonali, jak ukazuje následující snímek obrazovky. Jak byste mohli identifikovat nejvyšší a nejmenší hodnoty a poté rychle zvýraznit datové body v grafu?
  • Vytvořte krokový graf v aplikaci Excel
  • Krokový graf slouží k zobrazení změn, ke kterým došlo v nepravidelných intervalech, jedná se o rozšířenou verzi spojnicového grafu. Neexistuje však žádný přímý způsob, jak jej vytvořit v aplikaci Excel. V tomto článku budu hovořit o tom, jak vytvořit krokový graf krok za krokem v listu aplikace Excel.
  • Vytvořte sloupcový graf průběhu v aplikaci Excel
  • V aplikaci Excel vám sloupcový graf průběhu pomůže sledovat pokrok směrem k cíli, jak ukazuje následující snímek obrazovky. Jak byste ale mohli v tabulce aplikace Excel vytvořit sloupcový graf průběhu?

Nejlepší nástroje pro produktivitu v kanceláři

🤖 Kutools AI asistent: Revoluční analýza dat založená na: Inteligentní provedení   |  Generovat kód  |  Vytvořte vlastní vzorce  |  Analyzujte data a generujte grafy  |  Vyvolejte funkce Kutools...
Populární funkce: Najít, zvýraznit nebo identifikovat duplikáty   |  Odstranit prázdné řádky   |  Kombinujte sloupce nebo buňky bez ztráty dat   |   Kolo bez vzorce ...
Super vyhledávání: Více kritérií VLookup    VLookup s více hodnotami  |   VLookup na více listech   |   Fuzzy vyhledávání ....
Pokročilý rozevírací seznam: Rychle vytvořte rozevírací seznam   |  Závislý rozbalovací seznam   |  Vícenásobný výběr rozevíracího seznamu ....
Správce sloupců: Přidejte konkrétní počet sloupců  |  Přesunout sloupce  |  Přepnout stav viditelnosti skrytých sloupců  |  Porovnejte rozsahy a sloupce ...
Doporučené funkce: Zaměření mřížky   |  Návrhové zobrazení   |   Velký Formula Bar    Správce sešitů a listů   |  Knihovna zdrojů (Automatický text)   |  Výběr data   |  Zkombinujte pracovní listy   |  Šifrovat/dešifrovat buňky    Odesílat e-maily podle seznamu   |  Super filtr   |   Speciální filtr (filtr tučné/kurzíva/přeškrtnuté...) ...
Top 15 sad nástrojů12 Text Tools (doplnit text, Odebrat znaky, ...)   |   50+ Graf Typ nemovitosti (Ganttův diagram, ...)   |   40+ Praktické Vzorce (Vypočítejte věk na základě narozenin, ...)   |   19 Vložení Tools (Vložte QR kód, Vložit obrázek z cesty, ...)   |   12 Konverze Tools (Čísla na slova, Přepočet měny, ...)   |   7 Sloučit a rozdělit Tools (Pokročilé kombinování řádků, Rozdělit buňky, ...)   |   ... a více

Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času.  Kliknutím sem získáte funkci, kterou nejvíce potřebujete...

Popis


Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!
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