Dovedete si představit výřez oblasti buněk zobrazený na jiném listu? Nepotřebujeme k tomu žádný speciální prvek (viz třeba Spreadsheet z dnes již nepodporovaných Office Web Components), na druhou stranu se v tomto článku nespokojíme se statickým odkazem.
Výřez oblasti buněk vzorcem
Zde se nejedná o prostý odkaz, ale o dynamickou formu zobrazování dat. První způsob vychází z možností takřka nerozlučné dvojice funkcí ODKAZ a NEPŘÍMÝ.ODKAZ. Jejich zdrojem informací budou propojené buňky ovládacích prvků formuláře. S tímto vybavením dosáhneme efektu, který lze přirovnat k užití prvku iframe na webových stránkách. Příklad pro jednoduchost ukazuje zdroj i výřez na témže listu.
Pozn. Pokud nevidíte kartu Vývojář, je třeba ji vybrat v dialogu Možnosti aplikace Excel.
Minima u posuvníků jsou nastaveny na hodnotu 1 (jistě si dokážete řešení upravit s výchozí nulou), maxima potom graficky vymezuje buňka G16 (nejzazší počátek výřezu). Propojené buňky z řádku 22 ve finále můžete přesunout pod vodorovný posuvník (řádek 28).
Úlohu lze z pohledu užitých funkcí řešit i jinak. Uplatnit se může kupříkladu funkce SVYHLEDAT a nebo elegantní maticový vzorec s funkcí POSUN.
Uvedenou techniku lze nasadit i při porovnávání dat stejné struktury, ale z různých listů. Je pravda, že hraje na krásu, praktičtější je zvolit na kartě Zobrazení tlačítko Nové okno.
Propojený obrázek
Druhá metoda využívá propojeného obrázku. Pravděpodobně víte o možnosti provázat text ve vloženém tvaru (karta Vložení / Obrazce) s obsahem buňky, a to prostřednictvím prostého odkazu v řádku vzorců. Excel ovšem umí ještě jednou kouzlo. Nejprve si zkuste zkopírovat vybranou buňku jako obrázek.
Tip: Než tak učiníte, na kartě Zobrazení vypněte zobrazování mřížky. Hranice buňky se tak neprojeví v její grafické podobě a vy sami určíte, zda-li si přejete ukazovat ohraničení nebo ne.
Podstatný je Formát: Obrázek. V takovém případě totiž Excel zkopíruje do schránky vektorovou podobu buňky (formát EMF). Pokud takový obrázek do listu vložíme a propojíme přes řádek vzorců, bude přebírat nejen obsah, ale i formát provázané buňky, ba co víc, uvidíte i objekty nacházející se nad zdrojovou buňkou. Nic nám nebrání ani (v měřítku) obrázek zvětšit.
Pozn. Techniku lze aplikovat na libovolný obrázek typu EMF/WMF v listu. Hodí se i v situaci, kdy potřebujete nejrůznější nesourodé části sešitu tisknout pohromadě na jednom listu papíru.
Možná jste si uvědomili, že pokud budeme odkaz v grafickém objektu dynamicky měnit podle výběru aktuální buňky (pod VBA událost listu Selection_Change), pak jsme jednoduchým způsobem vytvořili jakousi jednoduchou lupu pro buňky.
1 2 3 4 5 6 7 | Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'změna odkazu v grafickém objektu ActiveSheet.Shapes("Obrázek 1").DrawingObject.Formula = "=" & _ Target.Cells(1).Address End Sub |
Je potřeba zdůraznit, že v Řádku vzorců se u grafického objektu může objevit pouze prostý odkaz. Ne nutně na jednu buňku, lze definovat i oblast. Jediným problémem (ale to i v případě samostatné buňky) je poměr stran obrázku versus poměr výšky a šířky vybrané buňky (oblasti).
A malý tip na závěr. Víte o existenci podokna úloh Okno kukátka na kartě Vzorce?
Příloha
vyrez_oblasti_bunek.zip