VBA Excel: Události obecný úvod
Videokurzy Excel
Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:
seznam události a k čemu je lze využít
Objekty v Excelu
Objekty v MS Excelu reagují na mnoho událostí. Seznam událostí je závislý na druhu objektu. V Excelu jsou k dispozici tyto objekty:
- Aplikace: Události celé aplikace probíhají na úrovni Excelu (např.: NewWorkBook atd.). Aby nám správně fungovaly musí být k dispozici modul třídy
- Sešit: Události, probíhají v rámci sešitu (např.: Open, BeforeOpen atd.)
- List: Jsou události které přísluší konkrétnímu listu (např.: Activate, Calculate atd.)
- Graf: Události grafu se týkají grafu (ať už je graf jako samostatný list, nebo je součásti listu). (např.: Resize atd.)
- Formuláře: Události formulářu a jejich ovládacích prvků. Je jasné, že pro správnou funkcí musí být k dispozici patřičný formulář.
- Speciální:Události (např: OnWindow, OnTime, OnKey atd.).
Události Aplikace MS EXCEL
Seznam události celé aplikace včetně jednoduchého popisu:
- NewWorkbook - Vytvoření nového sešitu
- SheetActivate - Aktivace požadovaného listu
- SheetBeforeDoubleClick
- SheetBeforeRightClick - před klikem pravého tlačítka
- SheetCalculate
- SheetChange
- SheetDeactivate
- SheetFollowHyperlink
- SheetSelectionChange
- WindowActivate
- WindowDeactivate
- WindowResize
- WorkbookActivate
- WorkbookAddinlnstall - Instalace sešitu jako doplňku
- WorkbookAddinUninstall - Odinstalace zvoleného doplňku
- WorkbookBeforeClose - před uzavřením
- WorkbookBeforePrint - před tiskem
- WorkbookBeforeSave - před uložením
- WorkbookOeactivate
- WorkbookNewSheet
- WorkbookOpen
Události sešitu
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
Podpora - oceňte web a pozvěte mě na čokoládu
Pomohl vám článek? Vyřešili jste problém? Můžete mě podpořit zakoupení tabulky (samozdřejmě čokoládové), když kafe nepiji ;) Odkaz na zakoupení čokolády. Za veškerou podporu vám děkuji a samozdřejmě jí využiji do zdokonalování a rozšířování webu.
Případně přidejte odkaz na vaši oblíbenou sociální síť, případně využijste hashtag #JakNaExcel .
Poděkování
Děkuji za váš čas a doufám, že jste nalezli odpověď na svůj problém.
Vylepšení
Narazili jste v článku na nejasnost, chybu? Máte tip na vylepšení nebo doplnění článku? Budu rád pokud se zmínite v komentářích.
Pavel Lasák - autor webu
Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od dubna roku 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím 8x za sebou). 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 20 let (o Excel píší přes 25). Zdarma je zde přes 1.500 návodu, tipů a triků, včetně přes 350 různých šablon, sešitů a přes 70 taháků v pdf.