Barva grafu z buněk s jeho daty

Formulace problému

Chtěl bych, aby sloupce na histogramu (nebo řezy na výsečovém grafu atd.) měly automaticky barvu, která byla použita k vyplnění odpovídajících buněk zdrojovými daty:

V očekávání překvapených a rozhořčených výkřiků jednotlivých soudruhů je třeba poznamenat, že barvu výplně v diagramu lze samozřejmě změnit i ručně (klikněte pravým tlačítkem na sloupec – Formát bodu/série (Formát datového bodu/řady) atd. – nikdo se nehádá. V praxi ale existuje spousta situací, kdy je jednodušší a pohodlnější to udělat přímo v buňkách s daty a graf by se pak měl automaticky překreslit. Zkuste například nastavit výplň podle oblasti pro sloupce v tomto grafu:

Myslím, že chápete, že?

Řešení

Nic jiného než makro to nedokáže. Proto otevíráme Editor jazyka Visual Basic ze záložky vývojka (Vývojář — Visual Basic Editor) nebo stiskněte klávesovou zkratku Alt + F11, vložte nový prázdný modul přes nabídku Vložit – Modul a zkopírujte tam text takového makra, které udělá veškerou práci:

Sub SetChartColorsFromDataCells() If TypeName(Selection) <> "ChartArea" Then MsgBox "Сначала выделите диаграмму!" Exit Sub End If Set c = ActiveChart For j = 1 To c.SeriesCollection.Count f = c.SeriesCollection(j).Formula m = Split(f, ",") Set r = Range(m(2)) For i = 1 To r.Cells.Count c.SeriesCollection(j).Points(i).Format.Fill.ForeColor.RGB = _ r.Cells(i).Interior.Color Další i Další j End Sub  

Nyní můžete zavřít Visual Basic a vrátit se do Excelu. Použití vytvořeného makra je velmi jednoduché. Vyberte graf (oblast grafu, nikoli oblast vykreslení, mřížku nebo sloupce!):

a spusťte naše makro tlačítkem makra Karta vývojka (Vývojář — Makra) nebo klávesovou zkratkou Alt + F8. Ve stejném okně lze v případě častého používání makru přiřadit klávesovou zkratku pomocí tlačítka parametry (Možnosti).

PS

Jedinou mouchou je nemožnost použít podobnou funkci pro případy, kdy je barva přiřazena buňkám zdrojových dat pomocí pravidel podmíněného formátování. Visual Basic bohužel nemá vestavěný nástroj pro čtení těchto barev. Existují samozřejmě určité „berličky“, ale nefungují ve všech případech a ne ve všech verzích.

  • Co jsou makra, jak je používat, kam vložit kód makra ve Visual Basicu
  • Podmíněné formátování v Excelu 2007-2013
  • Co je nového v grafech v Excelu 2013

Napsat komentář