Note: The other languages of the website are Google-translated. Back to English

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ší kancelářské nástroje produktivity

Kutools pro Excel řeší většinu vašich problémů a zvyšuje vaši produktivitu o 80%

  • Opakované použití: Rychle vložte složité vzorce, grafy a cokoli, co jste dříve používali; Šifrovat buňky s heslem; Vytvořte seznam adresátů a posílat e-maily ...
  • Super Formula Bar (snadno upravit více řádků textu a vzorce); Rozložení pro čtení (snadno číst a upravovat velké množství buněk); Vložit do filtrovaného rozsahu...
  • Sloučit buňky / řádky / sloupce bez ztráty dat; Rozdělit obsah buněk; Zkombinujte duplicitní řádky / sloupce... Zabraňte duplicitním buňkám; Porovnat rozsahy...
  • Vyberte možnost Duplikovat nebo Jedinečný Řádky; Vyberte prázdné řádky (všechny buňky jsou prázdné); Super hledání a fuzzy hledání v mnoha sešitech; Náhodný výběr ...
  • Přesná kopie Více buněk beze změny odkazu na vzorec; Automaticky vytvářet reference do více listů; Vložte odrážky, Zaškrtávací políčka a další ...
  • Extrahujte text, Přidat text, Odebrat podle pozice, Odebrat mezeru; Vytváření a tisk mezisoučtů stránkování; Převod mezi obsahem buněk a komentáři...
  • Super filtr (uložit a použít schémata filtrů na jiné listy); Rozšířené řazení podle měsíce / týdne / dne, frekvence a dalších; Speciální filtr tučnou kurzívou ...
  • Kombinujte sešity a pracovní listy; Sloučit tabulky na základě klíčových sloupců; Rozdělte data do více listů; Dávkový převod xls, xlsx a PDF...
  • Více než 300 výkonných funkcí. Podporuje Office / Excel 2007-2021 a 365. Podporuje všechny jazyky. Snadné nasazení ve vašem podniku nebo organizaci. Plné funkce 30denní bezplatná zkušební verze. 60denní záruka vrácení peněz.
karta kte 201905

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!
officetab dno
Komentáře (8)
Zatím žádné hodnocení. Buďte první, kdo ohodnotí!
Tento komentář byl moderátorem webu minimalizován
Pokud mám v listu více grafů? máš jiný kód?
Tento komentář byl moderátorem webu minimalizován
Děkujeme za tyto kódy! To bylo přesně to, co jsem hledal s jedním detailem, který úplně nesedí. Když jsem spustil kód, sloupcové grafy se zabarvily správně, ale ne legenda, která zůstala nezměněna. Existuje variace kódu, která by zahrnovala legendu? Nebo existuje způsob, jak přiřadit legendu ke změnám v grafu bez kódu?
Tento komentář byl moderátorem webu minimalizován
Děkujeme za kódy! Jak byste přidali podmíněný formát, když je formát již zaveden?
Tento komentář byl moderátorem webu minimalizován
Byl to úžasný začátek, ale barvy grafu a buněk se ne vždy shodují. Nějaký nápad proč?
Tento komentář byl moderátorem webu minimalizován
nemůžu to zprovoznit :( má to fungovat na skládaném pruhovém grafu? Díky
Tento komentář byl moderátorem webu minimalizován
To je v pořádku. Ale... proč jednoduše nepřejdete na možnost "Formátovat záznam legendy" v každé datové řadě v grafu a nepřejdete na "Vyplnit" a nezměníte barvu, jakou chcete. Chci říct... vše je v pořádku, ale kód VBA pro tento jednoduchý úkol je trochu přehnaný. Ale díky. Vážím si toho, že to sdílíte.
Tento komentář byl moderátorem webu minimalizován
Pokud mám v listu více grafů? máš jiný kód?
Tento komentář byl moderátorem webu minimalizován
Pro více než 1 graf:



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

Pro Y = 1 až 100Set xChart = ActiveSheet.ChartObjects("Chart "&Y).Chart If xChart Is Nothing Pak Exit Sub
xSCount = xChart.SeriesCollection.Count
Pro I = 1 až xSCcount
J=1
S xChart.SeriesCollection(I)
Set xRg = ActiveSheet.Range(Split(Split(.Formula, ",")(2), "!")(1))
Pokud xSCcount > 4 Pak
xRowsOrCols = xRg.Columns.Count
Jiný
xRowsOrCols = xRg.Rows.Count
End If
Pro každý 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
další
End WithNext
další
End Sub

Zatím zde nejsou žádné komentáře
Zanechat své připomínky
Odesílání jako host
×
Ohodnoťte tento příspěvek:
0   Postavy
Doporučená umístění

Sociální sítě

Copyright © 2009 - www.extendoffice.com. | Všechna práva vyhrazena. Poháněno ExtendOffice. | |. | Sitemap
Microsoft a logo Office jsou ochranné známky nebo registrované ochranné známky společnosti Microsoft Corporation ve Spojených státech a / nebo jiných zemích.
Chráněno Sectigo SSL