Seznam události jež jsou součásti daného sešitu. Jsou uloženy v modulu ThisWorkook (tento sešit).
Seznam události:
Activate - Při aktivování sešitu (při otevření sešitu po události Open a při přechodu do jiného sešitu). Neprobíha při vytváření nového sešitu. Využití pro úpravu velikosti okna, přepočet, atd.
AddinInstall - pokud je sešit instalován jako doplněk
AddinUninstall - pokud je doplněk odinstalován
BeforeClose - proběhne při požadavku na uzavření sešitu. Ještě než dojde k uzavření sešitu (tj. než se zobrazí okno zda si přejete sešit uložit). Což může někdy působit problémy když zapomenete uložit (nebo toto okno programově přeskočíte).
BeforcPrint - proběhne před tím než dojde k tisku. Při požadavku na tisk nebo náhled. Třeba pro upozornění, aby vložil do tiskárny papír :). Výhoda, je že funguje i na tlačítko náhled. Dá se testovat i bez tiskárny...
BeforeSave - proběhne před uložením sešitu. Zde se může automaticky uložit kopie, dotazy na vytisknutí, atd.
Deactivate - poběhne buď při uzavíraní sešitu (po události BeforeClose) a při deaktivaci sešitu.
NewSheet - Při vložení nového listu
Open - Probíhá při otevírání sešitu. Podle mého názoru nejčastěji použivaná událost. Například pro spuštění formuláře, automatizovaný výpočet, zápis údajů (například kdy byl sešit spuštěn) atd.
SheetActivate - při aktivaci listu
SheetBeforeDoubleClick - před akcí kterou vyvolá dvojkliku myší. Případně jen při dvojkliku
SheetBeforeRightClick - před akcí kterou vyvolá kliku pravého tlačítka myší.
SheetCalculate - než se přepočte list. Tj. při požadavku na přepočet listu se provede nejprve tato událost.
SheetChange - změna v sešitu
SheetDeactivate - před požadavkem na deaktivaci libovolného listu
SheetSelectionChange - při změně výběru
WindowActivate - před požadavkem na aktivaci libovolného okna sešitu
WindowDeactivate - před požadavkem na deaktivaci libovolného okna sešitu
WindowResize - před požadavkem na změnu velikosti libovolného okna sešitu
SheetFollowHyperlink - při kliknutí na hypertextový odkaz
Události listu
události objektů Worksheet. Každý list má svůj vlasní modul pro psání kodů. Takže pokud máte procedury uvedene v listě 1 tak na listě 2 fungovat nebudou. Což je někdy příčinou zbytečného hledání problému.
Activate - aktivace listu (jak jinak :)
BeforeDoubleClick - dvojklik na buňku. Podobně jako u BeforeRightClick tato událost neproběhne pokud se klikne na graf.
BeforeRightClick - klik pravým tlačítkem na buňku. Nereaguje při kliku na graf.
Calculate - přepočítání listu. Proběhne při každém přeočítaní listu
Change - změna obsahu buněk. Tato funkce je využívana nejčastěji. Tato událost nastane ať změnu provede uživatel (tím, že něco přepíše) nebo VBA (program), nebo dojde k aktualizaci z vnějšího zdroje. K této události ale nedojde přidateli do listui graf, nebo přes menu vymážete formáty.
Deactivate - deaktivace listu
SelectionChange - změna výběru buněk.
FollowHyperlink - kliknutí na hypertextový odkaz
Události grafu v MS Excel
Pro práci s grafy v MS Excel.
Activate
BeforeDoubleClick
BeforeRightClick
Calculate
Deactivate
DragOver
DragPlot
MouseDown
MouseMove
MouseUp
Resize
Select
SeriesChange
Události formuláře
U formulářů záleží na konkretním prvku, dle tohoto prvku se mohou jednotlivé události mírně lišit. Ne všechny prvky mohou obsluhovat všechny události.
Ostatní události
Spouštění maker při vzniku určité události
Vlastnosti
OnWindow
OnCalculate
OnEntry
OnData
Metody
OnTime
OnKey
OnRepeat
OnUndo
Poznámka
V dalších článcích se k jednotlivým událostem vrátim podrobněji včetně příkladu jejich použití.
Článek byl aktualizován: 19.09.2020 11:06
Odměna
Ušetřil vám tento web čas, peníze? Pomohl vyřešit problém? Jste ochotni poskytnout symbolickou odměnu na další rozvoj? Vybrte si formu odměny, která vám vyhovuje.
Pavel Lasák - autor webu
Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím jsem jediný z ČR v kategorií Excel). Své vědomosti a zkušenosti dávám k dispozici i on-line ve videích pro SEDUO. Ve firmách školím a konzultuji, učím na MUNI. Tento web již tvořím přes 15 let. Zdarma je zde přes 1.000 návodu, tipů a triků, včetně přes 250 různých šablon, sešitů.
Komentáře
Vladimír Šob
Přidáno: 13.09.13 10:40
Při vytváření tabulek v Excel 2003 jsem narazil na problém:
V sešitu mám nastavené nějaké události Workbook_BeforeClose
Workbook_Open
Workbook_BeforeSave
Po příkazu SaveAs mám otevřený sešit s novým názvem, ale v tomto otevřeném sešitu žádné události neprobíhají.
Až po zavření sešitu a někdy až po zavření Excelu a opětovném otevření sešitu události normálně fungují.
Nevíte někdo jak problém odstranit?
Předem děkuji.
Pavel Lasák
Přidáno: 13.09.13 20:32
To Vladimír Šob: Pokud dobře chápu dotaz, tak problém je mezi Save a SaveAs - jsou rozdílné "operace". Možné řešení nepovolit okno Uložit jako.
Vladimír Šob
Přidáno: 15.09.13 07:59
Děkuji za odpověď. Potřebuji aby, pokud otevřu sešit a provedu v něm změny, je nutné ho uložit pod jiným názvem (pod jinou revizí dokumentu) a potom pokračovat v práci. Pokud to ale udělám, stane se to, co jsem popsal v prvním příspěvku, nepracují události. Někdy ani nestačí sešit se změněným názvem ukončit. I po ukončení a opětovném otevření události nepracují. Jediné co funguje je po příkazu SaveAs úplně ukončit excel (Application.Quit) a znovu soubor otevřít. Potom události pracují.
Honza
Přidáno: 18.04.16 14:00
Je možné pomocí VBA spustit událost (která nenastala)? Děkuji.