Infografika je grafikou, který se snaží vizuálně přehlednou, jednoduchou a divácky zajímavou formou předkládat informace ke konzumaci. Narazíte na ni v televizi, na internetu, v tisku (počasí, diskuse, výsledky voleb, sportovní statistiky) nebo i jako účastník silničního provozu (v podstatě i obyčejnou dopravní značku nebo semafor pro chodce lze považovat za primitivní prvek infografiky). Inspirací budiž filmová sci-fi tvorba.
V Excelu jsou pro prezentaci dat prvním nástrojem na ráně grafy. A stejně jako infografika mohou odvádět pozornost od hodnot svým provedením a údaje zkreslovat. Co naplat, management dává přednost barvičkám a 3D efektům před korektním statistickým vyhodnocením. Rozhodně tím ale infografiku nezatracuji – naopak. Má své místo ve schématech a na ovládacích panelech, kdy je třeba doslova praštit obsluhu do očí s informací „další zásah už štíty nevydrží“, „kritická hranice kyslíku v nádrži“. Její forma by přitom měla být snadno pochopitelná co nejširší komunitě a brát v potaz i poznatky z psychologie. To, že v budově hoří, a kudy se dostat ven, musí pochopit i dítě. Protipólem budiž plaketa poslaná vstříc mimozemským civilizacím…
Teď už se ale vraťme nohama na zem a k Excelu.
Nejprve si vytvoříme nejnutnější grafické elementy. Výplň (nejčastěji obdélník, úseč, výseč) zpravidla musí být kresleným objektem Office, protože tyto vektorové tvary obsahují úchyty pro úpravy (adjustment handle), jež kromě samotné velikosti (a třeba i barvy) budeme obsluhovat programovým kódem VBA. Pro dosažení zajímavých efektů zpracujeme překryvný grafický prvek – masku. Excel není vhodně místo pro její výrobu, doporučuji sáhnout po grafickém programu.
Jak vyrobit masku?
Nanejvýš vhodným typem je vektorový obrázek. Pokud máte k dispozici třeba Corel Draw nebo jiný grafický program, sáhněte po něm. Pro export volte formát WMF, případně EMF, který je vhodným kompromisem pro použití v Microsoft Office. Obrázek nevkládejte do Excelu prostým CTRL+V ze schránky, ale použijte volbu Vložit jinak, nebo si rovnou navykněte na cestu přes kartu Vložení / Obrázek. Grafiku je možné dále převést na kreslený objekt Office (třeba přes Skupina / Oddělit), nicméně se stává, že po ukončení konverze dojde k degradaci tvarů a ztráty přesnosti (je to trochu alchymie, zkuste si třeba během importu změnit měřítko zobrazení). Po rozpadu skupiny je také možné, že v ní najdete obdélníkový objekt coby průhledné pozadí. Pomůže vám k dodržení poměru stran při změně měřítka prvku, ale klidně jej odstraňte. Nakonec objekty znovu seskupte.
Jeden z tvarů poslouží jako nositel hodnoty. Přes řádek vzorců jej prostým odkazem propojíme na pojmenovanou buňku a upravíme formát textu.
K programovému řízení tvaru a jeho velikosti potřebujeme událost. Tou je změna hodnoty v buňce. Pro dané účely se nám ovšem nehodí událost Worksheet_Change reagující na ruční vstup do buňky, ale přepočet listu – Worksheet_Calculate (resp. pro libovolný list sešitu Workbook_SheetCalculate).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Private Sub Workbook_SheetCalculate(ByVal Sh As Object) Dim dblHodnota As Double If Sh.Name = "Infografika" Then 'načtení hodnoty do proměnné dblHodnota = Range("rngHodnota") 'úprava výplně kotoučku Sh.Shapes("shpKotoucekVypln").Adjustments.Item(2) = _ 3.6 * dblHodnota 'úprava výplně panáčka With Sh.Shapes("shpPanacekVypln") .ScaleHeight 1.34 * dblHodnota / .Height, msoFalse, _ msoScaleFromBottomRight End With End If End Sub |
Jak ovládat ten či onen tvar už je na vás. Dobrým pomocníkem pro nastudování je Záznamník maker. Narazíte přitom na podivnou funkčnost metody ScaleHeight, kolekci (resp. objekt) Adjustments a další. Otáčení tvaru mě dokonce přivedlo i na matice translace a rotace a poznámky z robotiky. No a jestliže to chcete dotáhnout do konce, pak se vrhněte na animace a přejděte z dvourozměrného prostoru do 3D.
Tip
Pro správu grafiky na listu zvolte Karta Domů / skupina Úpravy / Najít a vybrat / Podokno výběru.
Příklad ke stažení:
excel_infografika.zip