Programování v Excelu 2000, 2002, 2003

Rozměr: px
Začít zobrazení ze stránky:

Download "Programování v Excelu 2000, 2002, 2003"

Transkript

1

2

3

4

5 Obsah Úvod...10 Události v Excelu Využití událostí ve vlastních aplikacích Umístění procedur událostí Jak zabránit výskytu událostí Události sešitu Přehled událostí sešitu Příklady využití základních událostí sešitu Události listů Přehled událostí listu Přehled událostí grafů (listu typu graf) Události aplikace Excel Práce s grafy pomocí jazyka VBA Úvod Grafy v objektovém modelu VBA Základní postupy při práci s grafy Vytvoření nového grafu pomocí kódu VBA Práce s datovými řadami Kolekce SeriesCollection Práce s jednotlivými datovými řadami Pokročilé techniky práce s grafy Automatické přizpůsobení hodnot osy Y Formátování grafu Přehled vlastností a metod objektů Vlastnosti objektu ChartObject Metody objektu ChartObject Vlastnosti objektu Chart Metody objektu Chart Třídy objektů a moduly tříd Proč, k čemu, jak Vytvoření nové třídy a konkrétní instance První pokus Vytváření vlastností a metod Zachycení událostí objektu Application pomocí třídy Zachycení událostí vložených grafů Příklad: použití událostí u vloženého grafu OBSAH 5

6 4 Formuláře Vytvoření formuláře, jeho zobrazení a ukončení pomocí VBA Modul kódu formuláře...76 Toolbox (souprava nástrojů)...76 Spuštění formuláře...77 Modální a nemodální formuláře...78 Uzavření formuláře Okno Properties Ovládací prvky...82 Přidání ovládacího prvku do formuláře...82 Výběr ovládacího prvku na formuláři...84 Konvence pro názvy formulářů a ovládacích prvků...85 Pořadí ovládacích prvků na formuláři...86 Dostupnost ovládacích prvků a přesun mezi nimi...88 Úprava ovládacích prvků ve formuláři Přehled typů ovládacích prvků...91 Příkazové tlačítko (CommandButton)...91 Popisek (Label)...92 Textové pole (TextBox)...93 Zaškrtávací políčko (CheckBox)...94 Přepínač (OptionButton)...95 Seznam (ListBox)...96 Rozvírací seznam (ComboBox)...99 Rámeček (Frame) Přepínací tlačítko (ToggleButton) Číselník (SpinButton) Posuvník (ScrollBar) RefEdit Vícenásobná stránka (MultiPage) Karty (TabStrip) Obraz (Image) Odkazy na formuláře a ovládací prvky v kódu VBA Příklad formulář pro zobrazení informací o listu Další příklad seznam všech pojmenovaných názvů v sešitu Ukázka práce se zaškrtávacími políčky a přepínači Zpracování událostí souvisejících s klávesnicí a myší Události klávesnice Používání ovládacích prvků přímo na pracovním listu Základní společné vlastnosti a metody ovládacích prvků a uživatelských formulářů OBSAH

7 5 6 Vlastnosti ovlivňující vzhled a chování formuláře či ovládacích prvků Další společné vlastnosti Metody formuláře nebo ovládacích prvků Přehled důležitých vlastností a metod objektu UserForm Vlastnosti Metody Základní události formuláře Sdílení formulářů Práce s externími soubory, export a import souborů Práce s externími soubory Základní operace se soubory Jednoduché čtení a zápis textových souborů Vlastní manipulace s textovými soubory Otevření textového souboru Načtení obsahu textového souboru Zápis údajů do textového souboru Import dat do listu Excelu pomocí příkazu Line Input # Načítání textového souboru příkazem Input # Zápis do souborů příkazy Write # a Print # Export oblasti buněk do textového souboru pomocí příkazu Write # Využití příkazu Write pro zápis údajů o chybách za běhu programu Ukládání různých nastavení do registru Windows Použití příkazů SaveSetting, DeleteSetting a funkcí GetSetting, GetAllSettings Další možnosti pro ukládání nastavení Databáze a seznamy v Excelu Základní terminologie Ruční správa seznamu pomocí nabídky Excelu Vytvoření seznamu Pořizování záznamů v seznamu Řazení, filtrování a další operace s databázemi Excelu pomocí VBA Příklad jednoduché aplikace využívající formuláře (Adresář) Jak načítat a ukládat data Činnosti při otevření formuláře OBSAH 7

8 7 8 9 Obecné procedury pro načtení záznamu, uložení původních hodnot a uložení změn Tlačítka pro přechod na další (předchozí záznam) Pracovní prostředí Excelu nabídky a penely nástrojů Části pracovní plochy Excelu a jejich zobrazení či skrytí pomocí VBA Panely nabídek a panely nástrojů možnosti manipulace s nimi Kolekce CommandBars, objekty CommandBar Objekt CommandBarControl a objekty vyjadřující jednotlivé typy ovládacích prvků Práce s nabídkami a panely nástrojů Vytváření a odstranění vlastních panelů a nabídek Úprava existujících panelů a nabídek Místní nabídky Vytvoření, úprava a odstranění nové místní nabídky Přehled vlastností a metod objektů CommandBars a CommandBar Vlastnosti kolekce CommandBars Metody kolekce CommandBars Vlastnosti objektu CommandBar Metody objektu CommandBar Základní vlastnosti a metody ovládacích prvků na panelech příkazů Doplňky v Excelu Účel doplňků a přehled doplňků dodávaných přímo s Excelem Obecné zásady pro vytváření doplňků Příklad doplňku převod do HTML Formulář Programový kód doplňku Spolupráce s dalšími programy Spouštění a aktivace jiných aplikací Funkce Shell Spuštění programů pomocí technologie Automation Přepínání mezi několika programy Technologie Automation a její využití pro spolupráci s Wordem nebo Outlookem Příklady práce s Wordem Příklady práce s Outlookem OBSAH

9 10 Funkce Windows API Co se skrývá za zkratkou API Deklarace API funkcí a příkazů Konstanty a uživatelské typy proměnných v API Další lahůdky spojené s voláním rutin API Několik varování Základní příklady na používání Windows API Práce s disky, složkami a soubory Práce se systémem Windows API pro práci se sítí Další vhodné ukázky Kde hledat dále? Rejstřík OBSAH 9

10 Úvod Kniha se zaměřuje na základy programování v Excelu 2003; pokud máte starší verze Excelu (97, 2000, 2002), můžete se podle ní učit také, z hlediska základů programování se tyto verze neliší. Tato kniha volně navazuje na knihu s názvem Excel 2000, 2002, 2003 záznam, úprava a programování maker (Grada, 2004), v níž se věnuji těm záležitostem, které programátor Excelu prostě musí znát, a těm technikám, které bude v Excelu používat nejčastěji. Kniha, již však držíte v rukou právě teď, je učebnicí pokročilých programovacích technik a objektů. V celém textu se snažím být maximálně stručný, což je přirozený důsledek dlouholeté zkušeností lektora, který ví, že jeho posluchači (čtenáři) se chtějí něco naučit a ne poslouchat marketingové a jiné podobné bláboly. Sem tam na některé věty či pasáže narazíte vícekrát opakování je matka moudrosti. Programování maker není záležitostí pro úplné počítačové začátečníky a také ne pro ty, kdo si jen rádi hrají. V celém textu knihy předpokládám, že umíte Excel ovládat a víte, k čemu všemu se dá použít. Např. v části věnované programování grafů rozhodně nenajdete výklad toho, jak se graf vytváří ručně v uživatelském rozhraní Počítejte také s tím, že bez znalosti angličtiny se toho moc nenaučíte, pro zvládnutí pokročilých témat je nezbytná, ale i u základů se vám bude hodit. Česky toho totiž příliš nevyšlo a spoustu materiálů seženete na internetu jen v angličtině. Schází především česká referenční příručka s kompletním českým překladem nápovědy k objektům, vlastnostem, metodám a událostem, i když se v tomto směru stále dá doporučit výtečná knížečka Programování Office 97 od Markéty a Petra Šitinových, kterou vydalo nakladatelství Grada v roce Je přirozené, že váš pohled na knihu bude jiný než můj. Pokud zjistíte, že v knize schází některá fakta, bez kterých si nevíte rady, napište na adresu sdds@seznam.cz a já se pokusím vám stručně vysvětlit souvislosti. Používané konvence Jak jste již z publikací nakladatelství Grada zvyklí, orientaci v textu vám budou usnadňovat různé typografické prvky: Pozor! Název Soubor Storno Důležité pojmy a pasáže textu, které je třeba zvýraznit, jsou vysazeny tučně. Názvy firem, softwarových produktů, aplikací a jednotlivých objektů programu označuji kurzívou. Názvy souborů, složek a internetové adresy. Texty, které se objevují v uživatelském prostředí aplikací Windows, jsou vysazeny jako běžný text, ale v tučné kurzivě. Takto jsou odlišeny příkazy nabídek, popisky ovládacích tlačítek, názvy dialogových oken a další citace z obrazovky. 10 ÚVOD

11 Vložit Rám KLÁVESA Program Jednotlivé příkazy v posloupnosti příkazů zadávané v nabídkách, podnabídkách a následně otevíraných dialogových oknech oddělujeme šipkami např. Nástroje Možnosti Zobrazení Zalomit do okna. Názvy kláves a klávesových zkratek označujeme KAPITÁLKAMI např. ENTER nebo ALT+S. Pro výpis zdrojového kódu v příkladech a pro odlišení jednotlivých prvků programu v běžném textu je použito bezpatkové neproporcionální písmo. V textu se budete často setkávat s odstavci označenými ikonou, která bude charakterizovat druh informace v daném odstavci: Píšící ruka označuje poznámku, která není nezbytná k pochopení dané problematiky, ale týká se tématu a prozrazuje další souvislosti. Usměváček vás upozorní na různé tipy a triky, kterými si můžete usnadnit některé činnosti nebo které vám umožní dosáhnout efektních výsledků. Varovně vztyčený prst označuje text, který vás upozorňuje na něco, na co byste si měli dát pozor, co vás může nepříjemně překvapit nebo co by vám mohlo způsobit problémy. Bomba je předzvěstí katastrofy nebo alespoň velkých nepříjemností. Tato ikona totiž označuje text upozorňující na skutečnosti, vedoucí ke ztrátě dat, zhroucení systémů a podobným havarijním stavům. ÚVOD 11

12

13 1. Události v Excelu 13

14 1. Události v Excelu V prvním dílu učebnice byly události zmíněny jen velmi stručně, nyní přišel čas věnovat se jim podrobněji. V dalších kapitolách se s jejich využitím budete setkávat velmi často. Připomeňme si, co už víte událost (angl. event) je akce vyvolaná uživatelem nebo systémem, kterou objekt (obecně, nejenom v Excelu) dokáže rozpoznat. Mezi takové akce patří např. otevření či uzavření sešitu, klepnutí či poklepání myší na objekt, změna hodnoty v buňce apod. Každá událost má přiřazenu svoji proceduru (říká se jí událostní procedura, angl. event procedure), která standardně neobsahuje žádný kód. Napíšete-li však nějaký kód do událostní procedury, bude spuštěn při každém výskytu dané události, tedy např. při otevření nějakého sešitu nebo před jeho uzavřením, před přepočítáním sešitu, po změně hodnoty v buňce apod. Objekty Excelu umí reagovat na velké množství událostí. Rozsah této knihy proto umožní představit si jen některé z nich, stručný přehled všech událostí je uveden vždy v příslušné části kapitoly: Události sešitu: Probíhají v rámci sešitu. Jako příklad lze uvést událost Open (vytvoření nebo otevření sešitu), BeforeSave (sešit bude uložen), BeforePrint (sešit bude tištěn) nebo NewSheet (je přidáván nový list). Události listu: Jsou vyvolány pro určitý list. Sem patří např. událost Activate (list je aktivován), SelectionChange (změna výběru na listu) či Calculate (list je přepočítáván). Události grafu: Jsou vyvolány pro určitý list typu graf. Patří mezi ně události Resize (po změně velikosti grafu) či SeriesChange (změna datového bodu v nějaké datové řadě). Pro zachytávání událostí v grafech vložených na pracovním listu je nutné použít modul třídy (ty budou podrobně probrány ve třetí kapitole). Události celé aplikace: Probíhají na úrovni celé aplikace (Excelu). Mezi nejvýznamnější patří např. NewWorkbook (vytvoření nového sešitu) nebo SheetChange (proběhla změna buňky v libovolném sešitu). Pro práci s událostmi aplikace je vždy nutný modul třídy. Události formulářů a jejich ovládacích prvků: Vyskytují se v rámci určitého formuláře nebo ovladače. Události, které neprobíhají v rámci žádného objektu: Sem patří dvě události na úrovni celé aplikace OnTime a OnKey. Funkčně se odlišují od jiných událostí. Některé akce spouští více událostí za sebou. Např. při otevírání sešitu proběhnou postupně tyto události sešitu: Open Activate WindowActivate 14 UDÁLOSTI V EXCELU

15 Při uzavírání sešitu probíhají (minimálně) tyto události sešitu: BeforeClose WindowDeactivate Deactivate Posloupnosti událostí bývají mnohem složitější, než si můžete představit na základě těchto příkladů. V obou ukázkách šlo navíc jen o události na úrovni sešitu. Např. při přidání nového listu do sešitu však proběhnou i události na úrovni listu a celé aplikace. Posloupnost událostí navíc nemusí být vždy zcela logická při přidání nového listu do sešitu proběhne nejdříve událost SheetActivate (aktivace listu) a až poté událost WorkbookNewSheet (nový list v sešitu). Další sekvence můžete zkoumat sami podle libosti, nejjednodušší je zapsat do každé zkoumané událostní procedury příkaz: Debug.Print "Název_Procedury" Bližší průzkum posloupností, v jakých jednotlivé události probíhají, se ovšem v praxi vyplatí pouze v případech, kdy využíváte větší množství událostí. Chcete-li spustit jednu proceduru při otevření sešitu a druhou při přepočtu určitého listu, není třeba se ničeho obávat. 1.1 Využití událostí ve vlastních aplikacích Aplikace řízené událostmi jsou v systému Windows rozšířeny tak, že už si to ani neuvědomujeme. Každé dialogové okno je typickou ukázkou po klepnutí na tlačítko nebo po změně hodnoty určitého ovladače je okamžitě provedena nějaká operace. Klepnutí nebo poklepání myší, pohyb kurzorem nebo stisk klávesy jsou také událostmi, které je každý prvek v dialogovém okně schopen rozeznat. Umístění procedur událostí Velmi častou chybou mnoha začátečníků (v diskusních konferencích narazíte na spoustu dotazů) je fakt, že procedury, které by měly při vzniku nějaké události proběhnout, nejsou spuštěny. Příčina problému je jednoduchá událostní procedury je třeba vždy zapsat na správné místo. V okně Project může mít každý sešit tyto části: Objekty jednotlivých listů: Jejich počet odpovídá počtu pracovních listů v sešitu. Objekty jednotlivých listů typu graf: Přidáte-li do sešitu graf na samostatném listu. Objekt ThisWorkbook: Představuje celý sešit. Standardní moduly VBA ve složce Modules: Do těchto modulů nikdy neumisťujte událostní procedury. Jejich hlavičky se ve standardních modulech ani nevyskytují, musely byste je tam ručně dopisovat. Moduly tříd: Události v modulech tříd si vysvětlíme ve třetí kapitole. Formuláře: Podrobný výklad událostí u formulářů je ve čtvrté kapitole. UDÁLOSTI V EXCELU 15

16 Obrázek 1.1 Různé části projektu Excelu. Když myší poklepete na objekt listu nebo objekt ThisWorkbook, otevře se okno kódu daného objektu. V jeho horní části jsou dva rozevírací seznamy. Levý seznam obsahuje řádek (General) a řádky Worksheet, Chart nebo Workbook. Část General znáte z klasických modulů: slouží pro deklarování proměnných, které mají svůj rozsah platnosti na úrovni modulu, v praxi tu tedy budete deklarovat proměnné, jež budete používat ve více událostech, probíhajících v daném modulu. Pozor na to, že proměnné, které deklarujete v modulu ThisWorkbook nebo v modulech listů jako veřejné (Public), nejsou dostupné z žádného jiného modulu, tedy ani z jiného modulu listu nebo ze standardních modulů! Veřejné proměnné musíte vždy deklarovat klíčovým slovem Public ve standardním modulu! Stejné pravidlo platí i pro všeobecné procedury ty musí být umístěny také ve standardním modulu. VBA vám sice umožňuje vkládat je i do modulů listů nebo do modulu ThisWorkbook, ale takové procedury je možné spouštět jen v rámci daného modulu! Po krátké odbočce se vraťme zpět k oknu kódu pro moduly listů či modul ThisWorkbook. Vyberete-li v levém seznamu druhý řádek (Worksheet, Chart nebo Workbook), objeví se v pravém seznamu všechny události, které můžete pro list či sešit využít. Jakmile v pravém rozvíracího seznamu vyberete nějakou událost, vloží editor VBA do okna modulu hlavičku odpovídající (prázdné) procedury: Private Sub Workbook_Activate() Veškerý kód zapsaný mezi tyto dva řádky bude proveden při každém vyvolání dané události. 16 UDÁLOSTI V EXCELU

17 Obrázek 1.2 V pravém rozevíracím seznamu okna kódu vidíte události, které můžete zachytávat na úrovni listu či sešitu. Některé událostní procedury obsahují v závorce za názvem procedury ještě seznam parametrů. Ty jsou vestavěny a vy jejich deklarace v žádném případě nemůžete měnit! Stejně tak nelze do seznamu parametrů přidávat parametry nové. Parametry událostí se vyskytují tam, kde jedna událost může proběhnout pro více různých objektů, nebo kde vám systém předává ještě dodatečné údaje k dané události. Např. u události pohybu myší nad objektem (MouseMove) dostanete předány souřadnice kurzoru (při události stisknutí tlačítka myši MouseDown zase údaj o tom, které tlačítko bylo stisknuto). Dalším příkladem je událost SheetActivate (je na úrovni sešitu, proto ji najdete v modulu ThisWorkbook) proběhne při aktivaci některého listu v sešitu. Aby bylo možné určit, který list byl aktivován, je odkaz na aktivovaný list (tedy na objekt Worksheet nebo Chart, deklarovaný ovšem jako Object) předán jako parametr procedury: Private Sub Workbook_SheetActivate(ByVal Sh As Object) Deklarace parametru jako typ Object má v tomto případě určité nepříjemné důsledky. Musíte totiž rozlišovat, zda byl aktivován list typu graf nebo pracovní list. Např. následující kód proběhne v pořádku, bude-li aktivován pracovní list: Private Sub Workbook_SheetActivate(ByVal Sh As Object) MsgBox Sh.Name ' název listu MsgBox Sh.Rows.Count ' počet řádků v listu Při aktivaci listu typu graf by pochopitelně došlo k chybě za běhu programu ve druhém řádku, protože list typu graf neobsahuje žádné řádky a tudíž odkaz na kolekci Rows není platný. Jak si můžete ověřit, který typ listu byl aktivován? Slouží k tomu operátor TypeOf, volaný např. v bloku If End If: ' zde bude operace, kterou je možné provádět jen pro pracovní listy Private Sub Workbook_SheetActivate(ByVal Sh As Object) If TypeOf Sh Is Worksheet Then ElseIf TypeOf Sh Is Chart ' a zde operace pro listy typu graf End If UDÁLOSTI V EXCELU 17

18 * V některých událostních procedurách se objevuje logický parametr Cancel. Např. deklarace událostní procedury BeforeClose v modulu ThisWorkbook vypadá takto: Private Sub Workbook_BeforeClose(Cancel As Boolean) Výchozí hodnota předaného parametru Cancel je False. Jestliže však ve vlastním kódu procedury nastavíte tento parametr na True, nebude sešit uzavřen. Ukázku možného využití představuje zákaz uzavření sešitu, zapomněl-li uživatel vytisknout denní přehled: Private Sub Workbook_BeforeClose(Cancel As Boolean) dotaz = "Vytisknul jste denní přehled změn?" odpoved = MsgBox(dotaz, vbyesno, "Ukončení práce...") If odpoved = vbno Then Cancel = True Procedura Workbook_BeforeClose je spuštěna po vydání příkazu k uzavření sešitu (Soubor Zavřít, Soubor Konec apod.). Procedura nejdříve zobrazí okno hlášení a odpoví-li uživatel záporně klepnutím na tlačítko Ne, bude parametr Cancel nastaven na hodnotu True. Uzavření sešitu je poté zrušeno. Jak zabránit výskytu událostí V praxi se setkáte se situacemi, kdy máte pro určitou událost napsán kód, ale tento kód může být prováděn jen někdy. Např. při otevírání sešitu nebude z nějakého důvodu žádoucí, aby byl proveden kód události Activate. Při každé další aktivaci daného sešitu však už kód proveden být musí. Obdobně se můžete potkat s případy, kdy v kódu událostní procedury provedete něco, čím danou událost znovu spustíte. Změníte-li např. v události listu Change hodnotu buňky v tomto listu (příklad si ukážeme za chvíli), bude událost Change generována znovu. V takovém případě ovšem hrozí nekonečné zacyklení kódu. Existuje dvojí možné řešení těchto situací. Buď zachytávání událostí zcela vypnete, nebo použijete logickou proměnnou, která ukončí provádění kódu. První řešení je lepší, protože událost vůbec není vyvolána, ovšem jeho nevýhodou je fakt, že neproběhnou vůbec žádné události. Logická proměnná nic nepotlačuje, jen bezprostředně ukončí provádění kódu v událostní proceduře. Zachytávání událostí vypnete takto: Debug.Print "Název_Procedury" Vlastnost EnableEvents má logické hodnoty True/False, za řádkem, který by vyvolal nežádoucí generování událostí, zase zachytávání zapnete. Ukázka druhého přístupu pomocí logické proměnné potlačí generování události Activate při otevření sešitu: 18 UDÁLOSTI V EXCELU

19 ' proměnnou deklarujeme v modulu ThisWorkbook - jinde ji nepotřebujeme Private lpotlaceni As Boolean Private Sub Workbook_Activate() If lpotlaceni Then ' při otevření sešitu proběhne tato část lpotlaceni = False Exit Sub Else ' zde bude kód, ' který bude proveden při dalších aktivacích sešitu End If Private Sub Workbook_Open() lpotlaceni = True 1.2 Události sešitu Tyto události probíhají v rámci konkrétního (jednoho) sešitu. Jejich událostní procedury jsou uloženy v modulu kódu pro objekt ThisWorkbook. Úplný seznam událostí je uveden dále, po něm se zaměříme na nejdůležitější události, které se v praxi používají. Jestliže potřebujete zachytávat události pro libovolný otevřený sešit, musíte používat události na úrovni celé aplikace. Tato problematika je popsána v třetí kapitole této knihy, seznam událostí objektu Application najdete v závěru této kapitoly. Přehled událostí sešitu Událost Activate AddinInstall AddinUninstall AfterXmlExport AfterXmlImport Akce, která vyvolá událost Otevření sešitu a přechod do libovolného okna sešitu z jiného sešitu. Událost neproběhne při vytváření nového okna sešitu ani při přechodu mezi dvěma okny téhož (v tom případě však proběhne událost Window- Activate). Sešit je instalován do prostředí Excelu jako doplněk. Odinstalování sešitu, který je nainstalován jako doplněk. Uložení nebo export dat ze sešitu do datového souboru XML. Nové načtení dat pomocí existujícího datového připojení, nebo import dat XML do sešitu. BeforeClose Probíhá před uzavřením sešitu (= byl vydán příkaz k uzavření sešitu). UDÁLOSTI V EXCELU 19

20 Událost BeforePrint BeforeSave BeforeXmlExport BeforeXmlImport Deactivate NewSheet Open PivotTableClose- Connection PivotTableOpen- Connection SheetActivate Akce, která vyvolá událost Probíhá před vytištěním sešitu (nebo jeho části). Probíhá před uložením sešitu. Proběhne předtím, než Excel uloží nebo exportuje data ze sešitu do datového souboru XML. Proběhne před novým načtením dat pomocí existujícího datového připojení, nebo po naimportování dat XML do sešitu. Při deaktivaci sešitu (probíhá též při uzavírání sešitu, ale až po události BeforeClose). Vložení nového listu do sešitu. Odkaz na nový list je do události předán jako parametr Sh. Otvírání sešitu. Po této události probíhá ještě událost Activate. Proběhne poté, co kontingenční tabulka uzavře připojení ke zdroji dat. Proběhne poté, co kontingenční tabulka otevře připojení ke zdroji dat. Aktivace libovolného listu v sešitu. SheetBeforeDoubleClick Při poklepání na libovolném listu. Událost probíhá před výchozí akcí pro poklepání. SheetBeforeRightClick SheetCalculate SheetChange SheetDeactivate SheetFollowHyperlink SheetPivotTableUpdate Po klepnutí pravým tlačítkem myši na libovolném listu. Událost probíhá před výchozí akcí pro klepnutí pravým tlačítkem myši. Při přepočítání obsahu libovolného listu. Obsah libovolného sešitu je měněn uživatelem nebo aktualizací vnějšího propojení. Při deaktivaci libovolného listu v sešitu. Při klepnutí myší na libovolný hypertextový odkaz v libovolném listu. Po aktualizaci listu s kontingenční tabulkou. SheetSelectionChange Změna výběru na libovolném listu, s výjimkou listů typu graf. 20 UDÁLOSTI V EXCELU

21 Událost Sync WindowActivate WindowDeactivate WindowResize Akce, která vyvolá událost Synchronizace lokální kopie pracovního listu, která je součástí pracovního prostoru dokumentu, s kopií na serveru. Aktivace kteréhokoli okna sešitu. Deaktivace kteréhokoli okna sešitu. Změna velikosti kteréhokoli okna sešitu. Příklady využití základních událostí sešitu Událost Open Tato událost je využívána zřejmě nejčastěji. Způsoby jejího využití jsou skutečně bohaté: Otevření dalších potřebných sešitů, případně doplňků. Nastavení vlastních panelů nástrojů či nabídek, případně klávesových zkratek. Přechod na určitý list. Zobrazení úvodního formuláře, sloužícího jako uživatelské rozhraní. Automatické provedení určitých výpočtů. Zápis údajů do protokolu, ve kterém je sledována činnost uživatele (ti zkušenější z vás samozřejmě vědí, že k těmto účelům se dá využít i Deník v Outlooku nebo zvláštní aplikace ). Nastavení vlastnosti listu ScrollArea (ta není ukládána spolu se sešitem). Budete-li při otevírání sešitu držet stisknutou klávesu SHIFT, není událostní procedura Workbook_Open spuštěna (jde o jednu z možností, jak se bránit makrovirům). Ukážeme si jednoduchý kód, uložený v sešitu složeném z 13 listů (prvních 12 listů pro jednotlivé měsíce a poslední list pro souhrnné údaje). Při otevírání sešitu je zkontrolováno datum a podle aktuálního měsíce je aktivován příslušný list. ' v deklarační části modulu ThisWorkbook příkaz Option Base 1 ' způsobí číslování prvků pole od jedničky, nikoli od nuly Option Base 1 Private Sub Workbook_Open() Dim varmesice varmesice = Array("Leden", "Únor", "Březen", "Duben", _ "Květen", "Červen","Červenec", "Srpen", "Září", "Říjen", _ "Listopad", "Prosinec") Worksheets(varMesice(Month(Date))).Activate Názvy listů jsou pomocí funkce Array uloženy do pole varmesice a metoda Activate při otevření sešitu zobrazí požadovaný list. UDÁLOSTI V EXCELU 21

22 Události Activate, Deactivate Událost Activate je vyvolána při aktivaci sešitu (jeho libovolného okna). Využití této události je opět pestré: Úprava velikosti aktivovaného okna. Zobrazení či skrytí některé nabídky nebo panelu nástrojů, která/ý je platná/ý jen pro daný sešit. Aktualizace údajů ve stavovém řádku. Ukázka kódu pro tuto událost obsahuje maximalizaci okna sešitu při jeho aktivaci a zobrazení speciálního panelu nástrojů. Private Sub Workbook_Activate() ActiveWindow.WindowState = xlmaximized CommandBars("Statistika").Visible = True Událost Deactivate proběhne při přechodu do jiného sešitu, při skrytí sešitu nebo před jeho uzavřením, tedy v případech, kdy sešit přestává být aktivní. Její využití je obdobné jako u události Activate (zobrazení či skrytí některé nabídky nebo panelu nástrojů). Private Sub Workbook_Deactivate() CommandBars("Statistika").Visible = False Událost BeforeSave Tato událost proběhne těsně před skutečným fyzickým uložením sešitu. Pomocí parametru SaveAsUI je možné v této události rozlišit, zda bude či nebude zobrazeno dialogové okno Uložit jako (to se zobrazí v případech, kdy sešit ještě nebyl uložen, byl otevřen pouze pro čtení nebo když uživatel chce sešit uložit pod jiným názvem (příkaz Soubor Uložit jako). Parametr Cancel umožňuje zrušit uložení souboru. ' kód, který se provede před zobrazením dialogového okna Uložit jako Private Sub Workbook_BeforeSave _ ByVal SaveAsUI As Boolean, Cancel As Boolean) If SaveAsUI Then End If Událost BeforePrint Je spuštěna před vytištěním dokumentu nebo zobrazením tiskového náhledu (poté, co uživatel zadal příslušný příkaz). V této události se vyskytuje již probraný parametr Cancel, takže tisk sešitu nebo jeho části lze zrušit nastavením hodnoty tohoto parametru na True. Jednoduchá ukázka využití této procedury zobrazí okno hlášení, upozorňující uživatele, aby se přesvědčil, zda má založen správný typ papíru: Private Sub Workbook_BeforePrint(Cancel As Boolean) Dim odpoved As Integer odpoved = MsgBox("Tento sešit musí být tištěn na listy formátu A3." _ & " Máte v tiskárně tyto listy připraveny?", vbyesno) If odpoved = vbno Then Cancel = True 22 UDÁLOSTI V EXCELU

23 Při testování událostních procedur BeforePrint používejte namísto fyzického tisku pouze náhled ušetří vám to čas i peníze. Událost BeforeClose Poslední důležitá událost sešitu proběhne před jeho uzavřením. V této události obvykle probíhají uklízecí operace čili obnova původního stavu. Jestliže jste při otevírání určitého sešitu zobrazili speciální panel nástrojů, je vhodné ho skrýt. Stejně tak je vhodné uzavřít všechny pomocné sešity apod. Při úklidu je třeba dát pozor na jeden zádrhel událost BeforeClose probíhá ještě před zobrazením výzvy k uložení sešitu. Vydáte-li tedy příkaz k uzavření sešitu a změny v něm provedené nebyly uloženy, proběhne nejdříve událostní procedura BeforeClose a teprve poté se zobrazí známé dialogové okno: Obrázek 1.3 Výzva k uložení provedených změn. Jestliže nyní klepnete na tlačítko Zrušit, zůstane sešit otevřen, ale bude již uklizeno. Jedná se o problém, který byl již mnohokrát publikován. V události BeforeClose se uživatele dotážete vlastním oknem hlášení a podle jeho odpovědi buď sešit uložíte nebo nastavíte vlastnost sešitu Saved na True (tím ho uzavřete bez uložení změn), případně proceduru předčasně ukončíte pomocí parametru Cancel sešit pak uzavřen nebude. Private Sub Workbook_BeforeClose(Cancel As Boolean) If Not Me.Saved Then Msg = "Chcete uložit provedené změny?" Odp = MsgBox(Msg, vbquestion + vbyesnocancel) Select Case Odp Case vbyes Me.Save Case vbno Me.Saved = True Case vbcancel Cancel = True Exit Sub End Select End If ' zde bude kód pro "úklid" 1.3 Události listů V další části kapitoly se zaměříme na události objektů Worksheet. Každý list sešitu má svůj vlastní modul kódu, který najdete a otevřete v okně projektu. UDÁLOSTI V EXCELU 23

24 Obrázek 1.4 Moduly listů v okně projektu. Přehled událostí listu Událost Activate Akce, která vyvolá událost Aktivace listu. BeforeDoubleClick Poklepání na listu. BeforeRightClick Calculate Deactivate FollowHyperlink Change PivotTableUpdate SelectionChange Událost Change Klepnutí pravým tlačítkem myši na listu. Přepočítání listu. Deaktivace listu. Klepnutí myší na libovolný hypertextový odkaz v listu. Obsah buněk je měněn uživatelem nebo aktualizací vnějšího propojení. Aktualizace kontingenční tabulky na listu. Změna výběru buněk na listu. Je využívána asi nejčastěji. Proběhne při každé změně hodnoty libovolné buňky v listu, ať už změnu vyvolá uživatel, kód VBA nebo aktualizace vnějšího propojení. Neprobíhá však při přepočtu vzorce zapsaného v buňce (to je možné zachytit v události Calculate), při změně formátu buňky (s výjimkou příkazu Úpravy Vymazat Formáty) nebo při přidání nějakého objektu (grafu, obrázku) do listu. Událost Change také neproběhne při změně buněk pomocí příkazů Excelu (např. Data Seřadit nebo Úpravy Nahradit) a při přidání/odstranění komentáře. 24 UDÁLOSTI V EXCELU

25 Z předchozího odstavce vyplývá, že událost Change není ideálním nástrojem pro sledování proběhlých změn. Co se ale dá jinak dělat? Událost Calculate je v tomto ohledu zcela nanic, protože v ní není možné sledovat, v které části listu došlo ke změnám událost nemá žádné parametry. V události Change však víte, které buňky změnily svůj obsah. Měněná buňka nebo oblast buněk je do události Change předána jako parametr Target (typu Range). Private Sub Worksheet_Change(ByVal Target As Range) Ve většině případů vás nebudou zajímat změny libovolné buňky, ale jen buňky určité nebo nějaké oblasti na listu. Jak zjistit, jestli změna proběhla právě tam, kde vás to zajímá? Možné způsoby jsou dva. V prvním případě použijeme metodu Intersect, která vrací pravoúhlý průnik dvou různých oblastí na listu. Můžeme tedy určit, zda se oblast, ve které došlo ke změně, nachází uvnitř oblasti, která nás zajímá. Private Sub Worksheet_Change(ByVal Target As Range) Set prunik = Application.Intersect _ (Target, Worksheets("List1").Range("D10")) If Not prunik Is Nothing Then MsgBox "ano" End If Vrátí-li metoda Intersect prázdnou oblast (průnik dvou oblastí je prázdný), není možné s tímto objektem pracovat. Testovací podmínka prunik Is Nothing používá operátor Is, protože porovnáváme objekty. Rovnítko (=) nelze při porovnávání objektů použít. V druhém případě použijeme metodu Union, která slučuje dvě oblasti, vrací tedy oblast všech buněk ležících v obou oblastech, zadaných jako parametry této metody. Kód vypadá obdobně, tentokrát však nebudeme porovnávat oblasti, ale jejich adresy, proto je v testovacím výrazu Union(Target, ZajmovaOblast).Address = ZajmovaOblast.Address klasické rovnítko: Private Sub Worksheet_Change(ByVal Target As Excel.Range) Set ZajmovaOblast = Worksheets("List1").Range("d1:e5") If Union(Target, ZajmovaOblast).Address = _ ZajmovaOblast.Address Then ' Target se nachází celý uvnitř oblasti ZajmovaOblast End If Takto je tedy možné určit, zda se měněná buňka nebo buňky nachází v určité oblasti. Co se poté bude v kódu dít, závisí už jen na vašich potřebách. Událost Change se dá využít např. pro: Ověřování zadávaných hodnot. Vestavěný nástroj Excelu pro ověřování dat totiž nelze použít vždy např. při vložení dat ze schránky nástroj Ověřování nefunguje! A kdyby jen nefungoval, u buněk, do kterých jste ze schránky něco vložili, je navíc ověřovací pravidlo vymazáno! Takže je skoro lepší vždy ověřovat zadané hodnoty kódem VBA. UDÁLOSTI V EXCELU 25

26 Vyloučení duplicitních údajů v určitém řádku, sloupci či oblasti. Změnu formátování buněk. Jednoduchá ukázka použití této procedury kontroluje zadané hodnoty v daném sloupci a zadá-li uživatel hodnotu, která v daném sloupci již je, je tato smazána, buňka zůstane aktivní a zobrazí se okno s varovným hlášením. Z kontroly jsou vyloučeny prázdné buňky a buňky obsahující vzorce. Protože v kódu události Change provádíme změnu hodnoty buňky, dojde k opakovanému vyvolání události Change! Vzhledem k tomu, že hodnotu nastavujeme na prázdný řetězec, nemůže dojít k zacyklení (prázdné buňky nejsou kontrolovány), ale i tak je v kódu vypnuto zachycování událostí, aby celá procedura nebyla zbytečně spouštěna podruhé. Private Sub Worksheet_Change(ByVal Target As Range) Dim bunka As Range, list As Worksheet, hlaseni As String ' proměnné list a hlaseni ' používám jen kvůli zkrácení zápisu v této knize Set list = ActiveSheet hlaseni = "Zadaná hodnota se již v tomto sloupci vyskytuje" ' je-li měněno více buněk najednou, nebudeme kontrolu provádět If Target.Cells.Count > 1 Then Exit Sub ' zkontrolujeme všechny buňky daného sloupce obsahující hodnoty For Each bunka In list.columns(target.column).specialcells _ (xlcelltypeconstants) ' první blok If zamezí porovnání měněné buňky se sebou samou If Target.Address <> bunka.address Then ' druhý blok If provádí vlastní porovnání hodnot If Target.Value = bunka.value Then ' vypneme zachytávání událostí Application.EnableEvents = False ' vymažeme obsah buňky Target.Value = "" ' vybereme znovu tuto buňku, ' tím zamezíme přechodu do jiné buňky ' po stisku Enteru nebo klávesové šipky Target.Select ' znovu zapneme zachytávání událostí Application.EnableEvents = True ' zobrazíme zprávu uživateli MsgBox hlaseni, vbexclamation ' dále není třeba nic kontrolovat, ' proto ukončíme For Each Exit For End If End If Next A ještě jednu ukázku, tentokrát z oblasti formátování buněk. Jestliže bude ve druhém sloupci buňka s určitou hodnotou (zde "xxx"), bude celý řádek zbarven šedě: Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 2 Then If Target.Value = "xxx" Then Rows(Target.Row).Interior.ColorIndex = 15 Else Rows(Target.Row).Interior.ColorIndex = xlnone End If End If 26 UDÁLOSTI V EXCELU

27 Událost SelectionChange Tato událost je vyvolána při změně výběru buňky nebo oblasti na listu, tedy např. při klepnutí myši do jiné než aktuální buňky, po výběru nové oblasti apod. Nový výběr je do události předán jako parametr Target. Praktické použití této události může být různé: Zobrazení či skrytí určité části pracovního prostředí. Úprava grafu (zobrazení údaje pro vybranou buňku či oblast). Posunutí listu tak, aby se nově vybraná buňka zobrazila v určité pozici, např. v levém horním rohu okna. Poslední možnost si ukážeme na příkladu. Následující kód posune list tak, aby se levý horní roh nově vybrané oblasti nacházel ve druhém řádku a druhém sloupci viditelné oblasti (vlevo a nahoře ponecháme volný prostor, s výjimkou prvního řádku či sloupce, kde to pochopitelně není možné). Private Sub Worksheet_SelectionChange(ByVal Target As Range) With ActiveWindow.ScrollRow = IIf(Target.Row <= 1, 1, Target.Row - 1).ScrollColumn = IIf(Target.Column <= 1, 1, Target.Column - 1) End With Další ukázka zvýrazní sloupec a řádek, ve kterém se nachází aktuální buňka. V této podobě byste kód mohli samozřejmě použít jen na listu, kde buňky nemají vnitřek obarven, protože procedura na svém začátku jakékoli podbarvení smaže. Private Sub Worksheet_SelectionChange(ByVal Target As Range) ' vymažeme předchozí podbarvení řádku a sloupce Cells.Interior.ColorIndex = 0 ' nastavíme nové podbarvení, 19 = světle žlutá Columns(Target.Column).Interior.ColorIndex = 19 Rows(Target.Row).Interior.ColorIndex = 19 Událost Calculate Proběhne při každém přepočítání listu. Protože se přepočet týká vždy celého listu, chybí tu parametr, který by umožnil identifikovat buňku či buňky, ve kterých došlo ke změnám. Obvyklým využitím této události je změna vlastností týkajících se zobrazení listu, např. přizpůsobení šířky sloupců tak, aby nové hodnoty byly vždy vidět: Private Sub Worksheet_Calculate() ' metoda AutoFit přizpůsobí šířku sloupců Columns("A:H").AutoFit Událost BeforeRightClick Proběhne poté, co uživatel klepne pravým tlačítkem myši na některou buňku (nikoli na vložený tvar nebo graf, ty mají svou událost BeforeRightClick), ale ještě před výchozí akcí pro klepnutí, tedy ještě před zobrazením místní nabídky. Setkáváme se tu opět s para- UDÁLOSTI V EXCELU 27

28 metrem Cancel nastavíte-li ho v událostní proceduře na True, bude výchozí akce pro klepnutí zrušena. Tímto způsobem je tedy např. možné zakázat místní nabídku pro určitou oblast na listu, případně pro celý list: ' potlačení místní nabídky pro oblast C1:D10 Sub Worksheet_BeforeRightClick(ByVal Target As Range, _ Cancel As Boolean) If Not Application.Intersect(Target, Range("c1:d10")) _ Is Nothing Then Cancel = True End If ' potlačení místní nabídky pro celý list Sub Worksheet_BeforeRightClick _ (ByVal Target As Range, Cancel As Boolean) Cancel = True Zákaz zobrazení místní nabídky se týká i nabídek pro celý sloupec či řádek, které se zobrazí po klepnutí pravým tlačítkem myši na záhlaví sloupce či řádku. V nápovědě Excelu 2003 je u této události uveden příklad, jak pro určitou oblast buněk přidat do místní nabídky novou položku. My jsme ovšem nabídky prozatím neprobírali, proto si to jen zapamatujte Událost BeforeDoubleClick Proběhne poté, co uživatel poklepe myší na některou buňku (nikoli na vložený tvar nebo graf, ty mají svou událost BeforeDoubleClick), ale ještě před výchozí akcí pro poklepání, tedy před editací buňky. Parametry jsou stejné jako u události BeforeRightClick a rovněž způsob využití je obdobný. Přehled událostí grafů (listu typu graf) Závorky jsou v názvu použity pro opakované zdůraznění faktu, že s událostmi grafů vložených na pracovních listech nemůžete pracovat přímo, ale jen pomocí modulu třídy. Jinak jsou ale události obou druhů grafů stejné. Podívejme se nejdříve na přehled všech událostí grafu: Událost Activate BeforeDoubleClick BeforeRightClick Akce, která vyvolá událost Aktivace listu typu graf nebo vloženého grafu. Poklepání na vloženém grafu. Tato událost proběhne před výchozí akcí pro poklepání. Klepnutí pravým tlačítkem myši na vloženém grafu. Tato událost proběhne před výchozí akcí pro klepnutí pravým tlačítkem myši. Calculate Do grafu jsou vložena nová data nebo dojde ke změně dat původních. 28 UDÁLOSTI V EXCELU

29 Deactivate DragOver DragPlot MouseDown MouseMove MouseUp Resize Select SeriesChange Deaktivace grafu. Nad grafem je myší přetahována oblast buněk. Do grafu je upuštěna oblast buněk přetahovaných myší. Bylo stisknuto tlačítko myši v okamžiku, kdy je ukazatel myši nad grafem. Příklad najdete ve třetí kapitole Ukazatel myši se pohybuje nad grafem. Bylo uvolněno tlačítko myši v okamžiku, kdy je ukazatel myši nad grafem. Byla změněna velikost grafu. Byla vybrána část grafu. Byla změněna hodnota datového bodu. Jak je vidět, některé události jsou stejné jako u pracovních listů, objevuje se tu však i několik, které jsou výlučnou záležitostí grafů (především DragPlot, Select a SeriesChange). Události Activate, Deactivate Proběhne při aktivaci nebo deaktivaci grafu. Využít se dá např. pro automatický výběr určité oblasti grafu, pro skrytí některých částí nabídky apod. Chcete-li např. zabránit uživateli ve změně grafu, skryjte v panelu nástrojů pro graf nabídky Formát a Graf a zakažte uživateli zobrazit panel nástrojů Graf (práce s panelem nástrojů bude probírána v jedné z dalších kapitol): Private Sub Chart_Activate() CommandBars("Chart Menu Bar").Controls("Graf").Visible = False CommandBars("Chart Menu Bar").Controls("Formát").Visible = False CommandBars("Chart").Enabled = False Dialogová okna pro formátování grafu se dají zobrazit také poklepáním myší (nebo pomocí pravého tlačítka) na určité části grafu. Tyto akce vyvolají příslušné události, ve kterých je třeba nastavit parametr Cancel na hodnotu True (popsáno dále). Událost BeforeDoubleClick Tuto událost jsme již probírali u pracovních listů, v případě grafů se však liší počet parametrů u pracovních listů byly dva, u grafů jsou čtyři, protože v pracovním listu můžete myší poklepat na buňku, zatímco u grafů je možných částí nepoměrně více. Na kterou část uživatel poklepal, vám prozradí první parametr této události, který se jmenuje ElementID. Konkrétní hodnoty jsou popsány v nápovědě. Při výběru některých částí grafu jsou předávány i parametry Arg1 nebo Arg2, obsahující doplňkové údaje. Při poklepání na některé řadě dat obsahuje parametr Arg1 pořadové číslo této řady v kolekci SeriesCollection, parametr Arg2 pak pořadové číslo aktuálního bodu této datové řady. UDÁLOSTI V EXCELU 29

30 První ukázkou využití této události je zákaz zobrazení dialogového okna Formát libovolné části grafu: Private Sub Chart_BeforeDoubleClick(ByVal ElementID As Long, _ ByVal Arg1 As Long, ByVal Arg2 As Long, Cancel As Boolean) Cancel = True MsgBox "U tohoto grafu není možné měnit formát." Chcete-li výchozí akci (zobrazení dialogového okna pro formátování) potlačit pouze u některé části grafu, prověřte v kódu událostní procedury hodnotu parametru ElementID, jak ukazuje šablona kódu pro tuto událost: Private Sub Chart_ BeforeDoubleClick(ByVal ElementID As Long, _ ByVal Arg1 As Long, ByVal Arg2 As Long) If ElementId = xlcharttitle Then ' byl vybrán nadpis grafu ElseIf ElementId = xlseries Then ' byla vybrána některá datová řada Událost SeriesChange K této události dojde, změní-li uživatel hodnotu některého datového bodu. Pořadová čísla řady i bodu jsou do události předány jako parametry, je tedy možné zjistit, ve které řadě ke změně došlo. Vzhledem k tomu, že v této události není možné provedenou změnu odvolat, jsou možnosti jejího využití značně omezené. Private Sub Chart_SeriesChange(ByVal SeriesIndex As Long, _ ByVal PointIndex As Long) Událost Select Proběhne při výběru některé části grafu. Parametry této události odpovídají parametrům události BeforeDoubleClick, s výjimkou posledního parametru Cancel. Následující ukázka zabraňuje výběru kterékoli z datových řad: Private Sub Chart_Select(ByVal ElementID As Long, _ ByVal Arg1 As Long, ByVal Arg2 As Long) If ElementId = xlseries Then ActiveChart.Deselect End If Události MouseDown, MouseUp, MouseMove K úvodnímu stručnému popisu v tabulce událostí si ještě uvedeme následující: při každém klepnutí myší nebo pouhém stisknutí či uvolnění tlačítka myši jsou v grafu generovány události MouseDown a MouseUp. V těchto událostech je možné zjistit, které tlačítko myši bylo stisknuto, zda přitom uživatel nestiskl ještě klávesy SHIFT, CTRL nebo ALT a také místo, na němž bylo tlačítko stisknuto. Podrobnější výklad o práci s těmito parametry najdete ve čtvrté kapitole, věnované formulářům (u nich se tyto události vyskytují také). Jednoduchou ukázku využití této události u grafů najdete ve třetí kapitole. 30 UDÁLOSTI V EXCELU

31 Lze jen litovat, že uvedené události nejsou k dispozici i u pracovních listů. Události BeforeRightClick a BeforeDoubleClick jsou v tomto kontextu jen velmi slabou náhražkou detekovat můžete jen stisk pravého tlačítka myši nebo poklepání. Samozřejmě chytré hlavy programátorů dumaly a dumaly a např. vydumaly řešení, kdy je na aktivní buňku položen obdélník (nakreslený tvar) s průhledným pozadím a neviditelným rámečkem ukázku tohoto řešení si můžete stáhnout z následující adresy: Další možnou, ale velmi ošemetnou obezličkou, je možnost přehodit při aktivaci určitého listu navzájem tlačítka myši. Pak by bylo možné využít pro detekci stisku levého tlačítka myši událost BeforeRightClick. Ovšem při stisku pravého tlačítka by se uživatel divil, proč se mu nezobrazuje místní nabídka takže toto řešení nedoporučuji (kdo chce, najde kód pro přehození tlačítek myši v desáté kapitole). 1.4 Události aplikace Excel V této části najdete seznam všech událostí na úrovni celé aplikace Excel. Způsob jejich využití je předveden ve třetí kapitole. V tabulce je úplný přehled všech událostí na úrovni aplikace, které můžete pomocí modulu třídy zachytávat a využívat. Odkazy na sešity nebo listy, které danou událost vyvolaly, jsou vždy předávány jako vestavěné parametry událostních procedur. Událost NewWorkbook SheetActivate SheetBeforeDoubleClick SheetBeforeRightClick SheetCalculate SheetChange SheetDeactivate SheetFollowHyperlink Akce, která vyvolá událost Je vytvořen nový sešit. Aktivace libovolného listu. Poklepání na libovolném listu. Tato událost proběhne před výchozí akcí pro poklepání. Klepnutí pravým tlačítkem myši na libovolném listu. Tato událost proběhne před výchozí akcí pro klepnutí pravým tlačítkem myši. Přepočítání libovolného listu. Obsah buněk na libovolném listu je měněn uživatelem nebo aktualizací vnějšího propojení. Deaktivace libovolného listu. Klepnutí myší na libovolný hypertextový odkaz v libovolném listu. SheetPivotTableUpdate Aktualizace listu s kontingenční tabulkou. UDÁLOSTI V EXCELU 31

32 SheetSelectionChange WindowActivate WindowDeactivate WindowResize WorkbookActivate WorkbookAddinInstall WorkbookAddinUninstall WorkbookAfterXmlExport WorkbookAfterXmlImport WorkbookBeforeClose WorkbookBeforePrint WorkbookBeforeSave WorkbookBeforeXmlExport WorkbookBeforeXmlImport WorkbookDeactivate WorkbookNewSheet WorkbookOpen WorkbookPivotTableClose- Connection WorkbookPivotTableOpen- Connection WorkbookSync Změna výběru buněk na libovolném listu. Aktivace kteréhokoli okna sešitu. Deaktivace kteréhokoli okna sešitu. Změna velikosti libovolného okna sešitu. Aktivace libovolného sešitu. Libovolný sešit je instalován jako doplněk. Odinstalace nějakého doplňku. Proběhne po uložení nebo exportu dat XML z libovolného sešitu. Proběhne po novém načtení dat přes existující datové připojení, nebo po naimportování dat XML do libovolného sešitu. Některý ze sešitů má být uzavřen (= byl vydán příkaz k uzavření sešitu). Některý ze sešitů (nebo jeho část) má být tištěn. Některý ze sešitů má být uložen. Proběhne předtím, než Excel uloží nebo exportuje data z libovolného sešitu do datového souboru XML. Proběhne před novým načtením dat přes existující datové připojení, nebo po naimportování dat XML do libovolného sešitu. Deaktivace libovolného sešitu. V některém sešitu je vytvořen nový list. Otevření sešitu. Proběhne poté, co kontingenční tabulka v libovolném sešitě uzavře připojení ke zdroji dat. Proběhne poté, co kontingenční tabulka v libovolném sešitě otevře připojení ke zdroji dat. Synchronizace lokální kopie sešitu, který je součástí pracovního prostoru dokumentu, s kopií na serveru. 32 UDÁLOSTI V EXCELU

33 2. Práce s grafy pomocí jazyka VBA 33

34 2. Práce s grafy pomocí jazyka VBA Ve druhé kapitole se podíváme na základní postupy pro práci s grafy, které jsou velmi vhodným nástrojem pro prezentaci tabulkových dat. 2.1 Úvod Pomocí grafů můžete zobrazit souhrnnou informaci o datech téměř libovolného typu, která jsou uložena na jednom či více listech. Excel v současné době podporuje více než 100 různých podob grafu, a pomocí VBA můžete grafy vytvářet nebo upravovat. Tajemství úspěchu při programování grafů spočívá ve znalosti jejich objektové hierarchie a vlastností či metod některých objektů (celkem je jich tolik, že je nesmysl učit se všechny vlastnosti a metody nazpaměť). Proto si nejdříve zopakujeme to, co byste měli znát jako uživatelé, nikoli jako programátoři. V Excelu je možné grafy vytvářet dvojím způsobem: Jako vložený objekt na pracovním listu (graf leží na buňkách obdobně jako obrázky či jiná grafika; na listu může být libovolné množství vložených grafů). Do samostatného listu typu graf (vždy jen jeden graf na listu). Počáteční umístění grafu není konečné, graf vložený na pracovním listu můžete převést do podoby listu typu graf a naopak (ve VBA graf převedete metodou Location). Uživatelé většinou vytvářejí grafy ručně, k tomuto účelu je v Excelu propracovaný Průvodce grafem. Nejrychlejším způsobem vytvoření grafu je ovšem následující postup vyberete zdrojová data a stisknete klávesu F11. Excel vytvoří nový list typu graf a pro formát výsledného grafu použije výchozí typ (který si můžete vybrat). Při ruční úpravě grafů uživatel nejdříve označí tu část grafu, kterou chce měnit a poté může vyvolat dialogové okno s vlastnostmi pro formát dané části grafu, případně dialogové okno pro určení typu grafu, jeho možností nebo změnu zdrojových dat. V kódu VBA vždy pracujete s příslušnou částí grafu. Grafy v objektovém modelu VBA Podívejte se nejdříve na první obrázek, který vyjadřuje různé možné umístění grafů v sešitu a názorně rozlišuje mezi dvěma základními objekty, s kterými se při práci s grafy budete setkávat: Obrázek 2.1 Vrchol objektové hierarchie grafů objekty Chart a ChartObject. 34 PRÁCE S GRAFY POMOCÍ JAZYKA VBA

35 Ve VBA je vlastní graf vyjádřen objektem Chart. U grafů vložených na pracovním listu se však ještě objevuje jeho kontejner objekt ChartObject. Vlastnosti a metody objektu ChartObject určují vzhled a velikost vloženého grafu. Každý objekt ChartObject je členem kolekce ChartObjects, ve které jsou uloženy všechny vložené grafy jednoho listu. Obdobně jsou všechny grafy na samostatných listech členy kolekce Charts. Počet grafů na samostatných listech zjistíte takto: ActiveWorkbook.Charts.Count Počet vložených grafů na aktivním listu se dá zjistit následujícím způsobem: ActiveSheet.ChartObjects.Count Odkaz na první graf, vložený na některém listu, získáte takto: WorkSheets("List2").ChartObjects(1).Chart Ano, je to dlouhé. Nemůže to být WorkSheets("List1").ChartObjects(1) protože se jedná o odkaz na první kontejner vloženého grafu. Každý objekt ChartObject obsahuje kromě vlastního grafu ještě další objekty, jak vidíte na následujícím obrázku: Obrázek 2.2 Objekt ChartObject a objekty v něm obsažené. Objekt Border reprezentuje okraj kontejneru ChartObject, objekt Interior pak vnitřek kontejneru. Oba tyto objekty nemají žádné metody, jen několik vlastností. Ostatně slouží jen pro určení některých součástí výsledného formátu. Představili jsme si je již v prvním dílu knihy. Poslední objekt ShapeRange představuje kolekci tvarů, ale u grafů není zajímavý ani podstatný. Zatímco objektová hierarchie u třídy ChartObject je relativně jednoduchá, u třídy Chart je podřízených objektů mnohem více: PRÁCE S GRAFY POMOCÍ JAZYKA VBA 35

36 Obrázek 2.3 Objekt Chart a jeho podřízené objekty. Mezi nejdůležitější podřízené objekty, se kterými budete v kódu pracovat nejčastěji, patří: Objekt Series, kolekce SeriesCollection ChartArea PlotArea Část grafu, poznámky Datová řada. Na rozdíl od běžných pravidel pro názvy objektů a jejich kolekcí se kolekce všech datových řad jmenuje SeriesCollection a k jednotlivým objektům se přistupuje odkazem SeriesCollection(x): Dim s As Series For Each s In ActiveChart.SeriesCollection ' zde budou zpracovány všechny datové řady Next Oblast grafu. U plošných grafů obsahuje osy, titulek grafu, popisky os a legendu. U prostorových grafů obsahuje titulek grafu a legendu. Nepatří do ní zobrazovaná oblast grafu. Zobrazovaná oblast, ve které je vykreslen vlastní graf. Nachází se vždy uvnitř oblasti grafu. U plošných grafů obsahuje popisky dat, mřížky, spojnice trendu a další položky umístěné v oblasti grafu. U prostorových grafů obsahuje navíc i stěny, podstavu, osy, popisky os a značky na osách. 36 PRÁCE S GRAFY POMOCÍ JAZYKA VBA

37 Objekt Axis, kolekce Axes ChartTitle Legend PageSetup ChartGroup Část grafu, poznámky Osa grafu. Graf může mít tři různé typy os osu kategorií, osu hodnot a osu řad. Typ osy je vyjádřen jednou z těchto konstant: xlcategory (1), xlvalue (2), xlseriesaxis (3); jen u prostorových grafů, jde o osu Z). V odkazu na osu můžete konstantu použít místo pořadového čísla jako člena kolekce Axes: Axes(xlCategory).HasTitle = True Axes(1).HasTitle = True Titulek grafu. Legenda grafu. Nastavení parametrů stránky pro náhled a tisk. Podrobně byl probrán v prvním dílu knihy. Skupina datových řad ve stejném formátu. Vyskytuje se u kombinovaných grafů, ve kterých jsou různé typy datových řad (sloupce + spojnice, sloupce + plochy). Vzhledem k tomu, že se pořadové číslo skupiny v kolekci ChartGroups může při změně formátu také změnit, je lepší používat pro přístup ke konkrétní skupině datových řad jednu z následujících metod: AreaGroups, BarGroups, ColumnGroups, DoughnutGroups, LineGroups nebo PieGroups. Na uvedené objekty se odkazujete pomocí jejich kolekce nebo stejnojmennými vlastnostmi objektu třídy Chart. 2.2 Základní postupy při práci s grafy Vytvoření nového grafu pomocí kódu VBA Při vytváření grafu pomocí VBA musíte určit oblast zdrojových dat. U všech ostatních vlastností umí Excel dosadit jejich výchozí hodnoty. Při vytváření grafu však v praxi obvykle také určujete jeho typ, název a případně i umístění. Základní kostra kódu tedy může vypadat takto: Sub NovyGraf() Application.ScreenUpdating = False ' přidáme nový graf (na samostatném listu typu graf) Charts.Add With ActiveChart ' určíme zdrojovou oblast a název grafu.setsourcedata Worksheets("Přehled").Range("A1:F2"), xlbyrows.name = "Výsledky za rok 2004" End With Application.ScreenUpdating = True PRÁCE S GRAFY POMOCÍ JAZYKA VBA 37

38 Oblast dat pro graf určujeme metodou SetSourceData. Její první parametr udává vlastní oblast, druhý (volitelný) parametr pak to, zda jsou datové řady orientovány po sloupcích (xlbycolumns) či řádcích (xlbyrows). Vlastnost Name určuje název grafu, u grafu na samostatném listu je to název tohoto listu. Procedura NovyGraf vytváří graf na samostatném listu. Metodu Add však můžete spustit i na kolekci ChartObjects určitého listu a vytvořit tak vložený graf. V tomto případě se ale postup trochu liší: Sub NovyGraf() Application.ScreenUpdating = False ' přidáme nový vložený graf ActiveSheet.ChartObjects.Add 100, 100, 350, 250 With ActiveSheet.ChartObjects(1).Chart ' určíme zdrojovou oblast a název grafu.setsourcedata Worksheets("Přehled").Range("A1:F2"), xlbyrows End With ActiveSheet.ChartObjects(1).Name = "Výsledky za rok 2004" Application.ScreenUpdating = True Metoda Add kolekce ChartObjects má čtyři parametry určující pozici levého horního rohu grafu a jeho šířku a výšku. Všechny parametry jsou povinné. Další odchylka od první procedury NovyGraf je u přiřazení názvu grafu. Vlastnost Name má sice kontejner ChartObject i v něm vnořený objekt třídy Chart, ale měnit ji můžete pouze u kontejneru. Umístění grafu Metoda Location umožňuje změnit výchozí umístění nového grafu (samostatný list). Vložený graf lze převést na samostatný list a naopak. První ukázka převádí graf vložený na listu Přehled do samostatného listu "GrafPřehledu": Worksheets("Přehled").ChartObjects(1).Chart.Location _ xllocationasnewsheet, "GrafPřehledu" Další příklad provádí opačný převod grafu ze samostatného listu do vloženého grafu na listu Přehled: Charts("GrafPřehledu").Location xllocationasobject, "Přehled" Druhý parametr je povinný jen při převodu grafu ze samostatného listu do vloženého grafu. Metoda Location graf nejenom převede, ale také aktivuje. Aktivace grafu Graf se dá, podobně jako jiné objekty Excelu, aktivovat metodou Activate, případně ho můžete metodou Select vybrat. Jakmile je graf aktivován, můžete se na něj v kódu odkazovat pomocí ActiveChart. Jak jsme si již zdůrazňovali v prvním dílu knihy, pro drtivou většinu operací s objekty není nutné je předem vybírat ani aktivovat, můžete přímo měnit jejich vlastnosti nebo volat jejich metody. 38 PRÁCE S GRAFY POMOCÍ JAZYKA VBA

39 ' aktivace grafu, není nutná Charts("Graf1").Activate ActiveChart.Legend.Font.Bold = True ' následující zápis provede to samé v jednom řádku Charts("Graf1").Legend.Font.Bold = True Samozřejmě, napíšete-li proceduru, ve které neměníte vlastnosti přesně daného, ale právě aktivního grafu, je nutné, aby byl nějaký graf aktivní, jinak dojde k chybě za běhu programu. Jak si můžete zkontrolovat, zda je právě aktivní nějaký graf? Použijte např. následující funkci: Function JeAktivniGraf() As Boolean JeAktivniGraf = False On Error Resume Next x = ActiveChart.Name If Err = 0 Then JeAktivniGraf = True End If End Function Funkce využívá postup, na který jsme narazili již v prvním dílu knihy, v části věnované chybám vzniklým za běhu programu. Pokus o přiřazení názvu aktivního grafu do proměnné selže, neexistuje-li aktivní graf. Tuto chybu můžeme zachytit a testem objektu Err zjistit, jak přiřazení dopadlo. V kódu funkce samozřejmě nemusíte používat vlastnost Name, může to být libovolná vlastnost grafu. K této funkci ještě jednu poznámku. Datový typ proměnné se dá ověřit také pomocí funkce TypeName, proto se nabízí ještě jedno řešení, jak zjistit, zda je právě vybrán graf: If TypeName(Selection) = "Chart" Then Tento zápis ale nelze použít u vložených grafů, protože u nich Selection nepředstavuje celý graf, ale vždy jen jednu jeho část, tedy např. ChartTitle nebo ChartArea. Odstranění grafu Stejně jako u jiných tříd objektů, patřících do nějaké kolekce, se také grafy dají odstranit metodou Delete. Její použití se však liší podle toho, o jaký typ grafu se jedná: Application.DisplayAlerts = False ' odstranění grafu na samostatném listu Charts("Graf8").Delete ' odstranění vloženého grafu ActiveSheet.ChartObjects(1).Delete Application.DisplayAlerts = True Metodou Delete můžete odstranit i celou kolekci grafů: ' odstranění všech grafů vložených na aktivním listu ActiveSheet.ChartObjects.Delete ' odstranění všech grafů na samostatných listech ActiveWorkbook.Charts.Delete Ve všech případech nezapomeňte před voláním metody Delete nastavit vlastnost DisplayAlerts objektu Application na False, aby Excel nezobrazoval varování. Po odstranění grafu či celé kolekce zase tuto vlastnost zapněte. PRÁCE S GRAFY POMOCÍ JAZYKA VBA 39

40 Rychlá změna vlastností grafu pomocí metody ChartWizard Pro změnu některých vlastností grafu můžete použít metodu ChartWizard. Její název by mohl naznačovat, že při jejím volání dojde k zobrazení Průvodce grafem, ale není tomu tak. Syntaxe metody je velmi jednoduchá: výraz.chartwizard(source, Gallery, Format, PlotBy, CategoryLabels, _ SeriesLabels, HasLegend, Title, CategoryTitle, ValueTitle, _ ExtraTitle) Touto metodou tedy můžete změnit zdrojovou oblast (Source), typ grafu (Gallery), číslo vestavěného autoformátu pro daný typ (Format), orientaci datových řad (PlotBy), počet řádků či sloupců obsahujících popisky osy kategorií (CategoryLabels), počet řádků či sloupců obsahujících popisky osy hodnot (SeriesLabels), můžete zobrazit či skrýt legendu (HasLegend; hodnoty True/False), změnit titulek grafu (Title), popisek osy kategorií (CategoryTitle), osy hodnot (ValueTitle), případně osy Z u prostorových grafů nebo druhé osy Y u plochých grafů (ExtraTitle). Všechny parametry jsou nepovinné a pojmenované, můžete je tedy zadávat v libovolném pořadí. Podrobný popis včetně přípustných konstant pro parametr Gallery najdete v nápovědě k této metodě. Jednoduchá ukázka použití metody ChartWizard mění typ grafu, vypíná zobrazení legendy a nastavuje popisky os X a Y:?Charts("Chart1").ChartWizard Gallery:=xl3DBar, _ HasLegend:=False, CategoryTitle:="Rok", ValueTitle:="Výnosy" Poloha vloženého grafu Poloha a velikost vloženého grafu jsou dány vlastnostmi Top, Left, Height a Width jeho kontejneru ChartObject. Často je třeba změnit polohu či velikost grafu tak, aby přesně lícoval s hranami buněk. Protože buňka (objekt Range) má také vlastnosti Top a Left, nepředstavuje změna polohy grafu žádný problém. Další ukázka přesune graf Tržby tak, aby jeho levý horní roh překrýval buňku B25: Dim achart As ChartObject Set achart = ActiveSheet.ChartObjects("Tržby") achart.top = Range("B25").Top achart.left = Range("B25").Left Pro změnu polohy, případně velikosti grafu, si můžete napsat i obecnou proceduru: Sub PremistiGraf(graf as ChartObject, levyhorniroh as Range, _ pravydolniroh As Range) lngleft = levyhorniroh.left lngtop = levyhorniroh.top lngheight = pravydolniroh.offset(1,1).top - levyhorniroh.top lngwidth = pravydolniroh.offset(1,1).left - levyhorniroh.left With graf.left = lngleft.top = lngtop.height = lngheight.width = lngwidth End With Parametr pravydolniroh je buňka překrytá pravým dolním rohem grafu. 40 PRÁCE S GRAFY POMOCÍ JAZYKA VBA

41 Názvy a popisky jednotlivých částí Když vytvoříte graf, přiřadí mu Excel výchozí název. U grafů na samostatných listech je názvem grafu název samotného listu, u vložených grafů má výchozí název tvar Graf X, kde X je pořadové číslo, které Excel automaticky inkrementuje, podle toho, kolik grafů vložíte. Názvy můžete měnit (kromě vloženého grafu, jak bylo uvedeno v části Vytvoření nového grafu pomocí VBA ), a to jak manuálně, tak pomocí kódu. Jak zjistíte název vloženého grafu? Stačí stisknout klávesu SHIFT, klepnout na graf myší a pustit SHIFT. Název grafu se objeví v poli názvů (pole na levém okraji řádku vzorců), kde ho také můžete změnit. Pozor na to, že před klepnutím na graf musí být vybrána buňka; bude-li vybrán graf, po klepnutí na jiný graf se název nezobrazí. V kódu je zjištění názvů vložených grafů jednoduché, následující ukázka vypisuje názvy do okna Immediate: For Each graf In ActiveSheet.ChartObjects Debug.Print graf.name Next U grafů na samostatném listu změníte název jednoduše přejmenujete daný list. Na co je třeba ještě u názvů dávat pozor? Vložené grafy jsou obsaženy nejen v kolekci ChartObjects, ale také v kolekci Shapes, není tedy možné pojmenovat graf stejně jako třeba jiný automatický tvar. V kódu jsou názvy objektů reprezentovány vlastností Name, jejich popisky vlastností Caption. Názvy jednotlivých datových řad zadáte přímo: ActiveChart.SeriesCollection(1).Name = "Pobočky" Titulek grafu je rovněž jednoduchý: ActiveChart.HasTitle = True ActiveChart.ChartTitle.Text = "Název grafu" A konečně jednotlivé osy mohou mít také svůj popisek, pokud ho mají povolen: ' nastavení popisku pro osu X ActiveChart.Axes(xlCategory).HasTitle = True ActiveChart.Axes(xlCategory).AxisTitle.Caption = "Měsíce" ' nastavení popisku pro osu Y ActiveChart.Axes(xlValue).HasTitle = True ActiveChart.Axes(xlValue).AxisTitle.Caption = "Výkon v procentech" Kromě vlastnosti Caption se u těch objektů, které obsahují text, setkáte ještě s kolekcí Characters, která představuje všechny znaky v daném objektu. Pomocí této kolekce je možné nastavovat atributy jednotlivých znaků, na které se můžete odkázat následujícím způsobem: Characters(start, délka) Např. velikost prvních dvou znaků titulku grafu můžete změnit tímto řádkem kódu: ActiveSheet.ChartObjects(1).Chart.ChartTitle.Characters(1, 2). _ Font.Size = 18 PRÁCE S GRAFY POMOCÍ JAZYKA VBA 41

42 Objekt Font umožňující měnit vlastnosti písma není dostupný jen pomocí kolekce Characters, ale i přímo pro celý objekt grafu, takže změna velikosti písma celého titulku grafu vypadá takto: ActiveSheet.ChartObjects(1).Chart.ChartTitle.Font.Size = Práce s datovými řadami Každá datová řada je v grafu vyjádřena objektem třídy Series, patřící do kolekce SeriesCollection. Jednotlivé body datové řady jsou vyjádřeny objektem třídy Point, všechny body jedné řady jsou obsaženy v kolekci Points. Díky objektovému modelu je tedy možné přistupovat k celé řadě nebo k jednotlivým bodům a pracovat s nimi. Kolekce SeriesCollection Obsahuje všechny datové řady a umožňuje jejich přidávání, odstranění nebo úpravu. V této části si ukážeme základní postupy, při kterých tento objekt využijete. Přidání nové datové řady do grafu Existující graf můžete rozšířit o další datovou řadu pomocí metody Add: výraz.add(source, Rowcol, SeriesLabels, CategoryLabels, Replace) Parametr výraz Source Rowcol SeriesLabels Význam Povinný výraz, vracející objekt třídy SeriesCollection. (Povinný) Data nové řady, zadaná jako objekt Range. Nápověda k této metodě sice udává i možnost zadání jako pole datových bodů, to však není pravda (dá se to obejít malým trikem, kdy po přidání nové řady z objektu Range nastavíte x-ové a y-ové hodnoty z pole). (Volitelný) Orientace datových řad. Možné hodnoty jsou xlrows (řádky) nebo xlcolumns (sloupce; výchozí hodnota). (Volitelný) Možné hodnoty True/False. Jestliže první řádek či sloupec oblasti obsahuje název datové řady, nastavte tento parametr na True. Hodnota False znamená, že v prvním řádku či sloupci je první datový bod řady. CategoryLabels (Volitelný) Možné hodnoty True/False. Jestliže první řádek či sloupec oblasti obsahuje popisek pro osu kategorie, nastavte tento parametr na True. Hodnota False znamená, že v prvním řádku či sloupci je první datový bod řady. Replace (Volitelný) Jsou-li parametry Replace a CategoryLabels nastaveny na True, budou aktuální názvy kategorií na ose X nahrazeny kategoriemi v nově přidávané oblasti. Výchozí hodnotou je False. 42 PRÁCE S GRAFY POMOCÍ JAZYKA VBA

43 Povinný je pouze první parametr, takže přidání nové datové řady vypadá takto: ActiveChart.SeriesCollection.Add Source:=Worksheets("Sheet1").Range("B1:B10") Jestliže chcete ponechat data v grafu beze změny, ale potřebujete jen zaměnit názvy v ose kategorií (osa X), použijte následující kód: ActiveSheet.ChartObjects(1).Chart.SeriesCollection.Add _ Source:=Range("b6:d6"), CategoryLabels:=True, Replace:=True, _ Rowcol:=xlByRows, serieslabels:=false V tomto případě obsah oblasti B6:D6 zamění původní názvy na ose X. Jestliže nemáte nové názvy kategorií uloženy v buňkách, ale vytváříte je jako textové proměnné, použijte následující kód: ActiveSheet.ChartObjects(1).Chart.Axes(xlCategory).CategoryNames = _ Array("1985", "1986", "1987", "1988", "1989") Dalším prostředkem pro přidání nové datové řady do grafu je metoda NewSeries, která vytvoří novou, ale prázdnou datovou řadu, jejíž další vlastnosti nastavujete dodatečně. Následující ukázka přidá novou datovou řadu do grafu s jednou datovou řadou, zobrazujícího údaje z oblasti A1:B11 (v buňkách A2:A11 jsou názvy kategorií). Po vytvoření nové datové řady kód nastaví hodnoty pro osu kategorií (XValues), určí datové body (Values) a název datové řady: Dim rada As Series Set rada = ActiveSheet.ChartObjects(1).Chart.SeriesCollection.NewSeries rada.xvalues = Range("a2:a11") rada.values = Range("C2:c11") rada.name = Range("c1") Obrázek 2.4 Graf a zdrojová oblast buněk po spuštění kódu z poslední ukázky. Rozšíření zdrojové oblasti pro existující datové řady Dojde-li ke změně velikosti zdrojové oblasti, můžete nové údaje do grafu zařadit pomocí metody Extend: výraz.extend(source, Rowcol, CategoryLabels) PRÁCE S GRAFY POMOCÍ JAZYKA VBA 43

44 Výraz Source Rowcol CategoryLabels Povinný výraz, vracející objekt třídy SeriesCollection. (Povinný) Nová data, zadaná jako objekt Range. Nápověda k této metodě sice udává i možnost zadání jako pole datových bodů, to však není pravda (viz metodu Add). (Volitelný) Určuje, zda jsou nové hodnoty uspořádány v řádcích nebo sloupcích zadané oblasti buněk. Možné hodnoty jsou xlrows nebo xlcolumns (výchozí). (Volitelný) Možné hodnoty True/False. Jestliže první řádek či sloupec oblasti obsahuje popisek pro osu kategorie, nastavte tento parametr na True. Hodnota False znamená, že v prvním řádku či sloupci je první datový bod řady. Jestliže tedy graf na samostatném listu Přehled zobrazuje data z oblasti A1:C7 na listu List1, přičemž datové řady jsou orientovány ve sloupcích, můžete graf rozšířit o údaje přidané do buněk A8:C11 takto: Charts("Přehled").SeriesCollection.Extend _ Source:=Worksheets("List1").Range("A8:C11"), Rowcol:=xlByColumns Obrázek 2.5 Původní zdrojová oblast a původní graf. Obrázek 2.6 Rozšířená oblast dat a graf po spuštění kódu poslední ukázky. Metodu Extend nelze použít u kontingenčních grafů. 44 PRÁCE S GRAFY POMOCÍ JAZYKA VBA

Ukázka knihy z internetového knihkupectví www.kosmas.cz

Ukázka knihy z internetového knihkupectví www.kosmas.cz Ukázka knihy z internetového knihkupectví www.kosmas.cz U k á z k a k n i h y z i n t e r n e t o v é h o k n i h k u p e c t v í w w w. k o s m a s. c z, U I D : K O S 1 8 1 2 7 7 U k á z k a k n i h

Více

Programování v Excelu 2000, 2002, 2003

Programování v Excelu 2000, 2002, 2003 Obsah 1 2 3 Úvod...10 Události v Excelu...13 1.1 Využití událostí ve vlastních aplikacích... 15 Umíst ní procedur událostí... 15 Jak zabránit výskytu událostí... 18 1.2 Události sešitu... 19 P ehled událostí

Více

Obsah Úvodem... 5 Co je to vlastně formulář... 6 Co je to šablona... 6 Jak se šablona uloží... 6 Jak souvisí formulář se šablonou...

Obsah Úvodem... 5 Co je to vlastně formulář... 6 Co je to šablona... 6 Jak se šablona uloží... 6 Jak souvisí formulář se šablonou... Obsah Úvodem... 5 Co je to vlastně formulář... 6 Co je to šablona... 6 Jak se šablona uloží... 6 Jak souvisí formulář se šablonou... 7 Jak se formulář vytváří... 8 Návrh formuláře... 8 Co jsou ovládací

Více

Ukazka knihy z internetoveho knihkupectvi www.kosmas.cz

Ukazka knihy z internetoveho knihkupectvi www.kosmas.cz Ukazka knihy z internetoveho knihkupectvi www.kosmas.cz EXCEL 2000 2007 5 Obsah Úvod... 9 1. Makra v Excelu... 13 1.1 Proč je v Excelu obsažen i programovací jazyk...13 1.2 Něco málo o vývoji Excelu

Více

MS Excel makra a VBA

MS Excel makra a VBA Autor: RNDr. Obsah: MS Excel makra a VBA 1 Využití, ukázky, výhody a nevýhody... 2 2 Makra a zabezpečení... 2 2.1 Nastavení zabezpečení Excelu... 2 2.2 Uložení maker do sešitu a osobního sešitu maker...

Více

Ukázka knihy z internetového knihkupectví www.kosmas.cz

Ukázka knihy z internetového knihkupectví www.kosmas.cz Ukázka knihy z internetového knihkupectví www.kosmas.cz Obsah 1 2 3 4 Úvod...11 1. Makra v Excelu...14 1.1 Proč je v Excelu obsažen i programovací jazyk... 14 Ve kterých případech je vhodné používat

Více

Ukázka knihy z internetového knihkupectví www.kosmas.cz

Ukázka knihy z internetového knihkupectví www.kosmas.cz Ukázka knihy z internetového knihkupectví www.kosmas.cz U k á z k a k n i h y z i n t e r n e t o v é h o k n i h k u p e c t v í w w w. k o s m a s. c z, U I D : K O S 1 8 1 5 4 6 U k á z k a k n i h

Více

Ukazka knihy z internetoveho knihkupectvi www.kosmas.cz

Ukazka knihy z internetoveho knihkupectvi www.kosmas.cz Ukazka knihy z internetoveho knihkupectvi www.kosmas.cz Programování v Excelu 2007 a 2010 záznam, úprava a programování maker Marek Laurenčík Vydala Grada Publishing, a.s. U Průhonu 22, Praha 7 jako svou

Více

ZŠ ÚnO, Bratří Čapků 1332

ZŠ ÚnO, Bratří Čapků 1332 MS Excel 2002 Grada - po spuštění je třeba kliknout do středu obrazovky - v dalším dialogovém okně (Přihlášení) vybrat uživatele, zřídit Nového uživatele nebo zvolit variantu Bez přihlášení (pro anonymní

Více

Visual Basic for Application

Visual Basic for Application Visual Basic for Application Leopold Bartoš 1 Začátek 1.1 Úvod Visual Basic for Application (VBA) je programové prostředí pro produkty, které jsou zahrnuty do balíku, který dostal jméno Microsoft Office.

Více

Test z programování v jazyce VBA v rámci předmětu Počítače II Vzorová zadání a vypracování

Test z programování v jazyce VBA v rámci předmětu Počítače II Vzorová zadání a vypracování Test z programování v jazyce VBA v rámci předmětu Počítače II Vzorová zadání a vypracování Vypracování bude ve formě ručně napsaného zdrojového textu programu na papír se zadáním. Program dle zadání si

Více

Manuál k ovládání aplikace INFOwin.

Manuál k ovládání aplikace INFOwin. Manuál k ovládání aplikace INFOwin. Základní práce s formuláři je ve všech modulech totožná. Vybereme tedy například formulář Pokladní kniha korunová na kterém si funkce ukážeme. Po zápisech se lze pohybovat

Více

Kurz Databáze. Obsah. Formuláře. Práce s daty. Doc. Ing. Radim Farana, CSc.

Kurz Databáze. Obsah. Formuláře. Práce s daty. Doc. Ing. Radim Farana, CSc. Kurz Databáze Práce s daty Doc. Ing. Radim Farana, CSc. Obsah Formuláře, typy formulářů, sekce formuláře. Objekty formuláře. Vytváření formulářů pomocí průvodce. Výběr dat, virtuální položky, agregace

Více

Struèný obsah. Základní průprava. Vývoj aplikací v Excelu. Základy jazyka Visual Basic for Applications. Práce s vlastními dialogy (UserForms)

Struèný obsah. Základní průprava. Vývoj aplikací v Excelu. Základy jazyka Visual Basic for Applications. Práce s vlastními dialogy (UserForms) Struèný obsah Část I Základní průprava Kapitola 1 Excel 2003: Odkud se vzal....................................33 Kapitola 2 Excel v kostce............................................45 Kapitola 3 Postupy

Více

Microsoft Word základní

Microsoft Word základní Časový rozsah: 2 dny (8:30-14:00) Cena: 2400 Kč + DPH Microsoft Word základní Tvorba kratších dokumentů se zaměřením na korespondenci. Základy tvorby a formátování písma a odstavců. Vkládání tabulek a

Více

Vzorce. Suma. Tvorba vzorce napsáním. Tvorba vzorců průvodcem

Vzorce. Suma. Tvorba vzorce napsáním. Tvorba vzorců průvodcem Vzorce Vzorce v Excelu lze zadávat dvěma způsoby. Buď známe přesný zápis vzorce a přímo ho do buňky napíšeme, nebo použijeme takzvaného průvodce při tvorbě vzorce (zejména u složitějších funkcí). Tvorba

Více

Popis ovládání. Po přihlášení do aplikace se objeví navigátor. Navigátor je stromově seřazen a slouží pro přístup ke všem oknům celé aplikace.

Popis ovládání. Po přihlášení do aplikace se objeví navigátor. Navigátor je stromově seřazen a slouží pro přístup ke všem oknům celé aplikace. Popis ovládání 1. Úvod Tento popis má za úkol seznámit uživatele se základními principy ovládání aplikace. Ovládání je možné pomocí myši, ale všechny činnosti jsou dosažitelné také pomocí klávesnice. 2.

Více

Obsah. Úvod Začínáme s PowerPointem Operace se snímky Pro koho je kniha určena...10 Použité konvence...11

Obsah. Úvod Začínáme s PowerPointem Operace se snímky Pro koho je kniha určena...10 Použité konvence...11 Obsah Úvod... 9 Pro koho je kniha určena...10 Použité konvence...11 Začínáme s PowerPointem... 13 1.1 Základní pojmy...14 1.2 Podokno úloh...16 1.3 Zobrazení dokumentu...17 1.4 Uložení prezentace...21

Více

Ukázka knihy z internetového knihkupectví www.kosmas.cz

Ukázka knihy z internetového knihkupectví www.kosmas.cz Ukázka knihy z internetového knihkupectví www.kosmas.cz U k á z k a k n i h y z i n t e r n e t o v é h o k n i h k u p e c t v í w w w. k o s m a s. c z, U I D : K O S 1 8 0 5 8 4 U k á z k a k n i h

Více

Ukázka knihy z internetového knihkupectví

Ukázka knihy z internetového knihkupectví Ukázka knihy z internetového knihkupectví www.kosmas.cz Věnováno mé rodině ACCESS 2007 PODROBNÝ PRŮVODCE 5 Úvod... 13 Komu je tato kniha určena...13 Co v této knize naleznete...14 Použité konvence a struktura

Více

Spuštění a ukončení databázové aplikace Access

Spuštění a ukončení databázové aplikace Access Spuštění a ukončení databázové aplikace Access Aplikaci Access spustíte tak, že vyhledáte její ikonu v nabídce "Start" a klepnete na ní. Najdete ho v Sekci Všechny programy/mircosoft Office. Po výběru

Více

Předmluva 11 Typografická konvence použitá v knize 12. 1 Úvod do Excelu 2003 13

Předmluva 11 Typografická konvence použitá v knize 12. 1 Úvod do Excelu 2003 13 Předmluva 11 Typografická konvence použitá v knize 12 1 Úvod do Excelu 2003 13 Spuštění a ukončení Excelu 14 Spuštění Excelu 14 Ukončení práce s Excelem 15 Přepínání mezi otevřenými sešity 16 Oprava aplikace

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence

Více

Obsahy kurzů MS Office

Obsahy kurzů MS Office Obsahy kurzů MS Office V současné době probíhají kurzy MS Office 2010 s následující osnovou: 1. Základy práce na PC, MS Office - praktické užití Kurz je určen pro všechny, kteří mají s prací na PC minimální

Více

Obsah. Obsah. Úvod Makra v Excelu Nahrávání maker První setkání s editorem jazyka Visual Basic... 31

Obsah. Obsah. Úvod Makra v Excelu Nahrávání maker První setkání s editorem jazyka Visual Basic... 31 EXCEL 2000 2007 5 Obsah Úvod... 9 1. Makra v Excelu... 13 1.1 Proč je v Excelu obsažen i programovací jazyk...13 1.2 Něco málo o vývoji Excelu z hlediska programování...16 1.3 Typy listů v sešitu a jejich

Více

Návod k aplikaci DPH Kontrol

Návod k aplikaci DPH Kontrol Návod k aplikaci DPH Kontrol Obsah I. O aplikaci... 2 II. Jak používat DPH Kontrol... 3 1. Kontrola spolehlivosti plátců DPH... 3 2. Kontrola zveřejněných účtů... 5 III. Další práce s databází záznamů...

Více

Obsah. Několik slov o Excelu 2007 a 2010 9. Operace při otvírání a ukládání sešitu 15. Operace s okny 27. Kapitola 1

Obsah. Několik slov o Excelu 2007 a 2010 9. Operace při otvírání a ukládání sešitu 15. Operace s okny 27. Kapitola 1 Obsah Kapitola 1 Několik slov o Excelu 2007 a 2010 9 Nové uživatelské rozhraní 9 Pás karet 10 Panel nástrojů Rychlý přístup 11 Tlačítko Office 11 Pracovní plocha 12 Nápověda 13 Kapitola 2 Operace při otvírání

Více

Základy programování Proměnné Procedury, funkce, události Operátory a podmínková logika Objekt Range a Cells, odkazy Vlastnosti, metody a události

Základy programování Proměnné Procedury, funkce, události Operátory a podmínková logika Objekt Range a Cells, odkazy Vlastnosti, metody a události Petr Blaha Základy programování Proměnné Procedury, funkce, události Operátory a podmínková logika Objekt Range a Cells, odkazy Vlastnosti, metody a události Cykly Základní funkce (matematické, textové,

Více

Word Lekce III. a IV.

Word Lekce III. a IV. Word 2007 Lekce III. a IV. Záložní kopie Povolení a nastavení automatického obnovení a automatického uložení může být žádoucí ve chvíli, kdy aplikace Word nahlásí neočekávanou chybu, kolizi aplikace a

Více

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná.

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná. Průběžná klasifikace Nová verze modulu Klasifikace žáků přináší novinky především v práci s průběžnou klasifikací. Pro zadání průběžné klasifikace ve třídě doposud existovaly 3 funkce Průběžná klasifikace,

Více

8 Makra Příklad 4 Excel 2007

8 Makra Příklad 4 Excel 2007 TÉMA: Úprava maker rozhodování, příkaz If..Then..Else Sekretářka společnosti Naše zahrada potřebuje upravit makra vytvořená pomocí záznamu tak, aby vyhovovala jejím požadavkům. Pro úpravy využije Editor

Více

MS OFFICE, POWERPOINT

MS OFFICE, POWERPOINT Škola: Autor: DUM: Vzdělávací obor: Tematický okruh: Téma: Masarykovo gymnázium Vsetín Mgr. Petr Koňařík MGV_VT_SS_1S2-D15_Z_OFF_PP.docx Informatika MS Office Powerpoint MS OFFICE, POWERPOINT ÚVOD PowerPoint

Více

Zdokonalování gramotnosti v oblasti ICT. Kurz MS Excel kurz 2. Inovace a modernizace studijních oborů FSpS (IMPACT) CZ.1.07/2.2.00/28.

Zdokonalování gramotnosti v oblasti ICT. Kurz MS Excel kurz 2. Inovace a modernizace studijních oborů FSpS (IMPACT) CZ.1.07/2.2.00/28. Zdokonalování gramotnosti v oblasti ICT Kurz MS Excel kurz 2 1 Obsah Práce s listy v MS Excel 2010... 4 Výběr (volba) listu... 4 Skrýt/zobrazit listy... 5 Klik na záložky... 5 Skrýt list (využítí pásu

Více

MS Excel 2007 Kontingenční tabulky

MS Excel 2007 Kontingenční tabulky MS Excel 2007 Kontingenční tabulky Obsah kapitoly V této kapitole se seznámíme s nástrojem, který se používá k analýze dat rozsáhlých seznamů. Studijní cíle Studenti budou umět pro analýzu dat rozsáhlých

Více

Úvodní příručka. Získání nápovědy Kliknutím na otazník přejděte na obsah nápovědy.

Úvodní příručka. Získání nápovědy Kliknutím na otazník přejděte na obsah nápovědy. Úvodní příručka Microsoft Access 2013 vypadá jinak než ve starších verzích, proto jsme vytvořili tuto příručku, která vám pomůže se s ním rychle seznámit. Změna velikosti obrazovky nebo zavření databáze

Více

02. HODINA. 2.1 Typy souborů a objektů. 2.2 Ovládací prvky Label a TextBox

02. HODINA. 2.1 Typy souborů a objektů. 2.2 Ovládací prvky Label a TextBox 02. HODINA Obsah: 1. Typy souborů a objektů 2. Ovládací prvky Label a TextBox 3. Základní příkazy a vlastnosti ovládacích prvků 4. Práce s objekty (ovládací prvky a jejich vlastnosti) 2.1 Typy souborů

Více

Ovládání Open Office.org Calc Ukládání dokumentu : Levým tlačítkem myši kliknete v menu na Soubor a pak na Uložit jako.

Ovládání Open Office.org Calc Ukládání dokumentu : Levým tlačítkem myši kliknete v menu na Soubor a pak na Uložit jako. Ukládání dokumentu : Levým tlačítkem myši kliknete v menu na Soubor a pak na Uložit jako. Otevře se tabulka, v které si najdete místo adresář, pomocí malé šedočerné šipky (jako na obrázku), do kterého

Více

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných Tematický celek 03 3.1 Proměnné Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace. 3.1.1 Deklarace proměnných Dim jméno_proměnné [As typ] - deklarace uvnitř procedury platí pouze pro

Více

Kapitola 11: Formuláře 151

Kapitola 11: Formuláře 151 Kapitola 11: Formuláře 151 Formulář DEM-11-01 11. Formuláře Formuláře jsou speciálním typem dokumentu Wordu, který umožňuje zadávat ve Wordu data, která lze snadno načíst například do databázového systému

Více

Archiv elektronických dokumentů Zela

Archiv elektronických dokumentů Zela Archiv elektronických dokumentů Zela Instalace po rozbalení servisního balíčku 38 se automaticky spustí instalační program, který nainstaluje potřebné moduly pro provoz archivu dokumentů. Tyto moduly je

Více

Kontingenční tabulky v MS Excel 2010

Kontingenční tabulky v MS Excel 2010 Kontingenční tabulky v MS Excel 2010 Autor: RNDr. Milan Myšák e-mail: milan.mysak@konero.cz Obsah 1 Vytvoření KT... 3 1.1 Data pro KT... 3 1.2 Tvorba KT... 3 2 Tvorba KT z dalších zdrojů dat... 5 2.1 Data

Více

FORMÁTOVÁNÍ 1. Autor: Mgr. Dana Kaprálová. Datum (období) tvorby: září, říjen 2013. Ročník: sedmý. Vzdělávací oblast: Informatika a výpočetní technika

FORMÁTOVÁNÍ 1. Autor: Mgr. Dana Kaprálová. Datum (období) tvorby: září, říjen 2013. Ročník: sedmý. Vzdělávací oblast: Informatika a výpočetní technika Autor: Mgr. Dana Kaprálová FORMÁTOVÁNÍ 1 Datum (období) tvorby: září, říjen 2013 Ročník: sedmý Vzdělávací oblast: Informatika a výpočetní technika 1 Anotace: Žáci se seznámí se základní obsluhou tabulkového

Více

z aplikace Access 2003

z aplikace Access 2003 V tomto průvodci Microsoft Aplikace Microsoft Access 2010 vypadá velmi odlišně od aplikace Access 2003, a proto jsme vytvořili tohoto průvodce, který vám pomůže se s ní rychle seznámit. Dozvíte se o klíčových

Více

MS Excel 2010. Základy maker. Operační program Vzdělávání pro konkurenceschopnost. Projekt Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU

MS Excel 2010. Základy maker. Operační program Vzdělávání pro konkurenceschopnost. Projekt Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU MS Excel 2010 Základy maker Operační program Vzdělávání pro konkurenceschopnost Projekt Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU Registrační číslo: CZ.1.07/2.2.00/15.0224, Oblast podpory:

Více

Uživatelský manuál aplikace. Dental MAXweb

Uživatelský manuál aplikace. Dental MAXweb Uživatelský manuál aplikace Dental MAXweb Obsah Obsah... 2 1. Základní operace... 3 1.1. Přihlášení do aplikace... 3 1.2. Odhlášení z aplikace... 3 1.3. Náhled aplikace v jiné úrovni... 3 1.4. Změna barevné

Více

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: CZ.1.07/1.5.00/34.0410 Číslo šablony: 25 Název materiálu: Ovládací prvky formuláře a makra Ročník: 2. ročník Identifikace materiálu:

Více

5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina

5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina 5a. Makra Visual Basic pro Microsoft Escel Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina Cyklické odkazy a iterativní výpočty Zde bude stránka o cyklických odkazech a iteracích.

Více

Tiskové sestavy. Zdroj záznamu pro tiskovou sestavu. Průvodce sestavou. Použití databází

Tiskové sestavy. Zdroj záznamu pro tiskovou sestavu. Průvodce sestavou. Použití databází Tiskové sestavy Tiskové sestavy se v aplikaci Access používají na finální tisk informací z databáze. Tisknout se dají všechny objekty, které jsme si vytvořili, ale tiskové sestavy slouží k tisku záznamů

Více

Hromadná korespondence

Hromadná korespondence Hromadná korespondence Hromadnou korespondenci lze použít k vytvoření sady dokumentů, které jsou v zásadě stejné, každý dokument ovšem obsahuje jedinečné prvky. Například u dopisu oznamujícího nový produkt

Více

MS Excel 2010. Lekce 1. Operační program Vzdělávání pro konkurenceschopnost. Projekt Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU

MS Excel 2010. Lekce 1. Operační program Vzdělávání pro konkurenceschopnost. Projekt Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU MS Excel 2010 Lekce 1 Operační program Vzdělávání pro konkurenceschopnost Projekt Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU Registrační číslo: CZ.1.07/2.2.00/15.0224, Oblast podpory: 7.2.2

Více

4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody

4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody 4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina Cyklické odkazy a iterativní výpočty

Více

Obsah. Úvod Jak začít Pište a upravujte různé texty bez obav... 21

Obsah. Úvod Jak začít Pište a upravujte různé texty bez obav... 21 Obsah Úvod... 13 1. Jak začít... 15 1.1 Setkali jste se již někdy se šablonami?...17 1.2 Nápověda a práce s ní...17 1.2.1 Jak se informace vyhledají?... 18 1.2.2 Jak se hledá v obsahu?... 18 1.2.3 Hledání

Více

DUM 06 téma: Tvorba makra pomocí VBA

DUM 06 téma: Tvorba makra pomocí VBA DUM 06 téma: Tvorba makra pomocí VBA ze sady: 03 tematický okruh sady: Tvorba skript a maker ze šablony: 10 Algoritmizace a programování určeno pro: 4. ročník vzdělávací obor: 18-20-M/01 Informační technologie

Více

Skripta ke školení. Základy VBA. vypracoval: Tomáš Herout. tel:

Skripta ke školení. Základy VBA. vypracoval: Tomáš Herout.   tel: Skripta ke školení Základy VBA vypracoval: Tomáš Herout e-mail: herout@helpmark.cz tel: 739 719 548 2016 Obsah TROCHA TEORIE VBA...2 ZPŮSOB ZÁPISU VE VBA...2 CO JE TO FUNKCE...2 CO JE TO PROCEDURA...2

Více

Pracovní prostředí Excel 2010

Pracovní prostředí Excel 2010 Zdokonalování ICT gramotnosti v rámci projektu IMPACT Pracovní prostředí Excel 2010 Inovace a modernizace studijních oborů FSpS Obsah Co je to Excel a k čemu slouží... 3 Co nabízí nová verze Excel 2010:...

Více

KAPITOLA 3 - ZPRACOVÁNÍ TEXTU

KAPITOLA 3 - ZPRACOVÁNÍ TEXTU KAPITOLA 3 - ZPRACOVÁNÍ TEXTU KLÍČOVÉ POJMY textové editory formát textu tabulka grafické objekty odrážky a číslování odstavec CÍLE KAPITOLY Pracovat s textovými dokumenty a ukládat je v souborech různého

Více

Osnova, hlavní a vnořené dokumenty

Osnova, hlavní a vnořené dokumenty Osnova, hlavní a vnořené dokumenty 912 K čemu slouží osnova dokumentu Osnovu lze použít pro zobrazení struktury dokumentu, ale také například pro přesouvání bloků textu nebo změnu úrovně nadpisů. Strukturu

Více

01. HODINA. 1.1 Spuštění programu VB 2010. 1.2 Prvky integrovaného vývojového prostředí. - pomocí ikony, z menu Start.

01. HODINA. 1.1 Spuštění programu VB 2010. 1.2 Prvky integrovaného vývojového prostředí. - pomocí ikony, z menu Start. 01. HODINA 1.1 Spuštění programu VB 2010 - pomocí ikony, z menu Start. - po spuštění si můžeme vybrat, zda chceme vytvořit nový Projekt a jaký nebo zda chceme otevřít již existující Projekt. 1.2 Prvky

Více

Migrace na aplikaci Outlook 2010

Migrace na aplikaci Outlook 2010 V tomto průvodci Microsoft Aplikace Microsoft Outlook 2010 vypadá velmi odlišně od aplikace Outlook 2003, a proto jsme vytvořili tohoto průvodce, který vám pomůže se s ní rychle seznámit. Dozvíte se o

Více

Informace k e-learningu

Informace k e-learningu Informace k e-learningu Příprava na testy bude probíhat samostatně formou e-learningových školení přístupných způsobem popsaným níže. Zkušební testy, pomocí kterých se budete připravovat na závěrečný test,

Více

Informace o zdroji učebního textu a poučení o jeho užívaní. Petr Broža, Libor Kříž, Roman Kučera, Pavel Nygrýn

Informace o zdroji učebního textu a poučení o jeho užívaní. Petr Broža, Libor Kříž, Roman Kučera, Pavel Nygrýn Informace o zdroji učebního textu a poučení o jeho užívaní Informace o zdroji: Autor: Název díla: Vydavatelství: Petr Broža, Libor Kříž, Roman Kučera, Pavel Nygrýn Microsoft Office 2007 - Průvodce pro

Více

Formátování pomocí stylů

Formátování pomocí stylů Styly a šablony Styly, šablony a témata Formátování dokumentu pomocí standardních nástrojů (přímé formátování) (Podokno úloh Zobrazit formátování): textu jsou přiřazeny parametry (font, velikost, barva,

Více

Pracovní sešit MS Word pokročilý

Pracovní sešit MS Word pokročilý Veškerá reprodukce v částečné i úplné formě je bez autorského souhlasu protizákonná. Strana 0 MS Excel pokročilý 2013 Přehled novinek Rychlý přehled Šablony, statistické funkce a další nové nástroje Spolupráce

Více

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu / Druh CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT

Více

Access. Tabulky. Vytvoření tabulky

Access. Tabulky. Vytvoření tabulky Access správa databáze (tabulky, relace, omezující podmínky, data...) uživatelské prostředí pro práci s databází (formuláře, sestavy, datové stránky, makra...) ukázková aplikace Northwind hlavní okno databáze

Více

Přehledy pro Tabulky Hlavním smyslem této nové agendy je jednoduché řazení, filtrování a seskupování dle libovolných sloupců.

Přehledy pro Tabulky Hlavním smyslem této nové agendy je jednoduché řazení, filtrování a seskupování dle libovolných sloupců. Přehledy pro Tabulky V programu CONTACT Professional 5 naleznete u firem, osob a obchodních případů záložku Tabulka. Tuto záložku lze rozmnožit, přejmenovat a sloupce je možné definovat dle vlastních požadavků

Více

2.3.3 PRÁCE S JEDNÍM A VÍCE DOKUMENTY

2.3.3 PRÁCE S JEDNÍM A VÍCE DOKUMENTY MS OFFICE V PŘÍKLADECH část 2, díl 3, kap. 3, str. 1 Všechny příklady v této kapitole jsou k dispozici na CD CD 2.3.3 PRÁCE S JEDNÍM A VÍCE DOKUMENTY Vytvoření nového dokumentu Nový dokument můžete vytvořit

Více

3MA481 Propojení Accessu a Excelu David Hach

3MA481 Propojení Accessu a Excelu David Hach Popis práce Tato práce se zabývá propojením aplikací MS Office s pomocí kódů ve VBA. V tomto konkrétním příkladě je znázorněn případ komunikace mezi programy MS Access 2007 a MS Excel 2007. Díky možnostem

Více

(IMPACT) CZ.1.07/2.2.00/

(IMPACT) CZ.1.07/2.2.00/ Word 2010 Kurz 6 1. Propojování dokumentů MS Office 1 2. Vodoznak 3 3. Hypertextový odkaz 4 4. Osnova 5 5. Hlavní a vnořené dokumenty 7 Propojování dokumentů MS Office Program Word umožňuje kromě vložení

Více

Internetový přístup do databáze FADN CZ - uživatelská příručka Modul FADN RESEARCH / DATA

Internetový přístup do databáze FADN CZ - uživatelská příručka Modul FADN RESEARCH / DATA Internetový přístup do databáze FADN CZ - uživatelská příručka Modul FADN RESEARCH / DATA Modul FADN RESEARCH je určen pro odborníky z oblasti zemědělské ekonomiky. Modul neomezuje uživatele pouze na předpřipravené

Více

MS Excel 3: Pokročilý kurz

MS Excel 3: Pokročilý kurz MS Excel 3: Pokročilý kurz Materiály ke kurzu Lektor: Jiří Benedikt 09.10.17 www.jiribenedikt.com 1 Úvod Dobrý den, jsem rád, že jste se rozhodli se vzdělávat a věřím, že se v Excelu brzy stanete profíkem!

Více

Zdokonalování gramotnosti v oblasti ICT. Kurz MS Excel kurz 6. Inovace a modernizace studijních oborů FSpS (IMPACT) CZ.1.07/2.2.00/28.

Zdokonalování gramotnosti v oblasti ICT. Kurz MS Excel kurz 6. Inovace a modernizace studijních oborů FSpS (IMPACT) CZ.1.07/2.2.00/28. Zdokonalování gramotnosti v oblasti ICT Kurz MS Excel kurz 6 1 Obsah Kontingenční tabulky... 3 Zdroj dat... 3 Příprava dat... 3 Vytvoření kontingenční tabulky... 3 Možnosti v poli Hodnoty... 7 Aktualizace

Více

Prozkoumání příkazů na pásu karet Každá karta na pásu karet obsahuje skupiny a každá skupina obsahuje sadu souvisejících příkazů.

Prozkoumání příkazů na pásu karet Každá karta na pásu karet obsahuje skupiny a každá skupina obsahuje sadu souvisejících příkazů. Úvodní příručka Microsoft Excel 2013 vypadá jinak než ve starších verzích, proto jsme vytvořili tuto příručku, která vám pomůže se s ním rychle seznámit. Přidání příkazů na panel nástrojů Rychlý přístup

Více

Slíbená princezna. Univerzální ComboBox

Slíbená princezna. Univerzální ComboBox Již dříve jsem zmínil vizi jediného supercomba na listu, jehož obsah (seznam položek čerpaný z listu databanky) se mění v závislosti na sloupci, pro který má v danou chvíli sloužit. V tomto článku představím

Více

Velmi stručný návod jak dostat data z Terminálu Bloomberg do R

Velmi stručný návod jak dostat data z Terminálu Bloomberg do R Velmi stručný návod jak dostat data z Terminálu Bloomberg do R Ondřej Pokora, PřF MU, Brno 11. března 2013 1 Terminál Bloomberg Klávesou Help získáte nápovědu. Dvojím stisknutím Help Help spustíte online

Více

DATABÁZE MS ACCESS 2010

DATABÁZE MS ACCESS 2010 DATABÁZE MS ACCESS 2010 KAPITOLA 5 PRAKTICKÁ ČÁST TABULKY POPIS PROSTŘEDÍ Spuštění MS Access nadefinovat název databáze a cestu k uložení databáze POPIS PROSTŘEDÍ Nahoře záložky: Soubor (k uložení souboru,

Více

Generátor list nastavení

Generátor list nastavení Generátor menu verze 1.1 je nástroj pro vytváření menu a vlastních panelů nástrojů typu CommandBar, jak je známe z Excelu 2003 a dřívějších. Nenutí uživatele zasahovat do programového kódu VBA, pokud se

Více

1. Otevřete dokument, který chcete číst. 2. Na kartě Zobrazení klikněte ve skupině Zobrazení dokumentů na položku Čtení na celé obrazovce.

1. Otevřete dokument, který chcete číst. 2. Na kartě Zobrazení klikněte ve skupině Zobrazení dokumentů na položku Čtení na celé obrazovce. 2. lekce Čtení dokumentů 1. Otevřete dokument, který chcete číst. 2. Na kartě Zobrazení klikněte ve skupině Zobrazení dokumentů na položku Čtení na celé obrazovce. 3. Přecházení mezi stránkami v dokumentu:

Více

Řešení. ŘEŠENÍ 36 Výsledková listina soutěže

Řešení. ŘEŠENÍ 36 Výsledková listina soutěže Příklad zahrnuje Textová editace buněk Základní vzorce Vložené kliparty Propojené listy Grafická úprava buněk Složitější vzorce Vložené externí obrázky Formuláře Úprava formátu Vysoce speciální funkce

Více

Office 2013. podrobný průvodce. Tomáš Šimek

Office 2013. podrobný průvodce. Tomáš Šimek Office 2013 podrobný průvodce Tomáš Šimek Seznámení se společnými postupy při práci s dokumenty Office Popis základních a pokročilejších postupů při práci s Wordem, Excelem, PowerPointem a OneNote Možnosti

Více

Úvodní příručka. Správa souborů Kliknutím na kartu Soubor můžete otevřít, uložit, vytisknout a spravovat své soubory Wordu.

Úvodní příručka. Správa souborů Kliknutím na kartu Soubor můžete otevřít, uložit, vytisknout a spravovat své soubory Wordu. Úvodní příručka Microsoft Word 2013 vypadá jinak než ve starších verzích, proto jsme vytvořili tuto příručku, která vám pomůže se s ním rychle seznámit. Panel nástrojů Rychlý přístup Příkazy tady umístěné

Více

Tlačítka a další prvky vestavěných panelů nástrojů a nabídek (CommandBar) a jejich Control ID ve verzi Excel 2010

Tlačítka a další prvky vestavěných panelů nástrojů a nabídek (CommandBar) a jejich Control ID ve verzi Excel 2010 Tlačítka a další prvky vestavěných panelů nástrojů a nabídek (CommandBar) a jejich Control ID ve verzi Excel 2010 Pozn. Od verze Excelu 2007 jsou klasické panely nástrojů skryty. Jejich nástroje mohou

Více

Popis a ovládání. Aplikace 602XML Filler

Popis a ovládání. Aplikace 602XML Filler Popis a ovládání Aplikace 602XML Filler Základní okno aplikace 602XML Filler Nástrojová lišta Otevřený formulář Pracovní panel Stavový řádek Kontextová nápověda k formulářovému poli Nástrojová lišta Otevře

Více

MS Word. verze Přehled programů pro úpravu textu

MS Word. verze Přehled programů pro úpravu textu MS Word verze 2013 Přehled programů pro úpravu textu Pro úpravu textu slouží textový editor Jednoduché (zdarma, součást operačního systému MS Windows): Poznámkový blok, WordPad Komplexní: MS Word, Writer

Více

Úvod...1 Instalace...1 Popis funkcí...2 Hlavní obrazovka...2 Menu...3 Práce s aplikací - příklad...5

Úvod...1 Instalace...1 Popis funkcí...2 Hlavní obrazovka...2 Menu...3 Práce s aplikací - příklad...5 Rejstřík Úvod...1 Instalace...1 Popis funkcí...2 Hlavní obrazovka...2 Menu...3 Práce s aplikací - příklad...5 Úvod Správcovská aplikace slouží k vytvoření vstupního a zašifrovaného souboru pro odečtovou

Více

Tabulkový kalkulátor

Tabulkový kalkulátor 1.1.1 GRAF Vhodným doplněním textů a tabulek jsou grafy. Graf je v podstatě obrázek graficky zobrazující hodnoty údajů z tabulky. Je vhodným objektem pro porovnávání údajů a jejich analýzu. Graf můžeme

Více

Začínáme pracovat s tabulkovým procesorem MS Excel

Začínáme pracovat s tabulkovým procesorem MS Excel Začínáme pracovat s tabulkovým procesorem MS Excel Nejtypičtějším představitelem tabulkových procesorů je MS Excel. Je to pokročilý nástroj pro tvorbu jednoduchých i složitých výpočtů a grafů. Program

Více

Úvod. Program ZK EANPRINT. Základní vlastnosti programu. Co program vyžaduje. Určení programu. Jak program spustit. Uživatelská dokumentace programu

Úvod. Program ZK EANPRINT. Základní vlastnosti programu. Co program vyžaduje. Určení programu. Jak program spustit. Uživatelská dokumentace programu sq Program ZK EANPRINT verze 1.20 Uživatelská dokumentace programu Úvod Základní vlastnosti programu Jednoduchost ovládání - umožňuje obsluhu i málo zkušeným uživatelům bez nutnosti většího zaškolování.

Více

Obsah. 1 Úvod do Visia 2003 15. 2 Práce se soubory 47. Předmluva 11 Typografická konvence použitá v knize 13

Obsah. 1 Úvod do Visia 2003 15. 2 Práce se soubory 47. Předmluva 11 Typografická konvence použitá v knize 13 Předmluva 11 Typografická konvence použitá v knize 13 1 Úvod do Visia 2003 15 Visio se představuje 16 Výchozí podmínky 16 Spuštění a ukončení Visia 18 Způsoby spuštění Visia 18 Ukončení práce s Visiem

Více

3 Makra Příklad 4 Access 2007. Ve vytvořené databázi potřebuje sekretářka společnosti Naše zahrada zautomatizovat některé úkony pomocí maker.

3 Makra Příklad 4 Access 2007. Ve vytvořené databázi potřebuje sekretářka společnosti Naše zahrada zautomatizovat některé úkony pomocí maker. TÉMA: Vytváření a úprava maker Ve vytvořené databázi potřebuje sekretářka společnosti Naše zahrada zautomatizovat některé úkony pomocí maker. Zadání: Otevřete databázi Makra.accdb. 1. Vytvořte makro Objednávky,

Více

JAK PROPOJIT R-KO a EXCEL aneb Aby se uživatel nasytil a statistik zůstal celý

JAK PROPOJIT R-KO a EXCEL aneb Aby se uživatel nasytil a statistik zůstal celý JAK PROPOJIT R-KO a EXCEL aneb Aby se uživatel nasytil a statistik zůstal celý Ondřej Vencálek listopad 2008 Motivace Jak to udělat, aby se panu doktorovi ušetřila práce, a přitom aby se nemusel učit R-ko?

Více

Jak vyplnit daňové přiznání v Software602 Form Filler

Jak vyplnit daňové přiznání v Software602 Form Filler Jak vyplnit daňové přiznání v Software602 Form Filler Software602, 2011 http://www.602.cz http://www.bezpapiru.cz http://secustamp.com Obsah Obsah Úvod... 3 Práce s formulářem...3 Nástrojová lišta...4

Více

METODICKÝ POKYN PRÁCE S MS PowerPoint - ZAČÁTEČNÍCI. Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

METODICKÝ POKYN PRÁCE S MS PowerPoint - ZAČÁTEČNÍCI. Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. METODICKÝ POKYN PRÁCE S MS PowerPoint - ZAČÁTEČNÍCI Základní rozložení plochy Výchozím stavem při práci je normální zobrazení. pás karet - základní nabídka příkazů Pořadí jednotlivých snímků Základní plocha

Více

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání Čtvrtek 3. listopadu Makra v Excelu Obecná definice makra: Podle definice je makro strukturovanou definicí jedné nebo několika akcí, které chceme, aby MS Excel vykonal jako odezvu na nějakou námi definovanou

Více

HELIOS - Zálohování BüroKomplet, s.r.o.

HELIOS - Zálohování BüroKomplet, s.r.o. HELIOS - Zálohování 2017 BüroKomplet, s.r.o. Obsah Záloha... 3 Přehled záloh... 3 Typ zálohy... 3 Adresář... 4 Nový... 4 Obnova... 6 2 Záloha V přehledu lze provádět zálohy dat jednotlivých firem a v případě

Více

Práce s programem MPVaK

Práce s programem MPVaK Práce s programem MPVaK Tato informace popisuje postup práce s programem "MPVaK Vybrané údaje z majetkové a Vybrané údaje z provozní evidence. Jsou v ní popsány nejdůležitější úlohy, které budete s programem

Více