Přeskočit navigaci | Přeskočit na novinky

Nový videokurz na Seduo: Excel pro začátečníky

     

Jste zde: Úvodní stránka » excel » vba » excel-vba-udalosti-uvod

VBA Excel: Události obecný úvod


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: 01.11.2014 13:50

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

Pavel Lasák - autor webu

Microsoft Office (Word, Excel, PowerPoint) se věnuji od roku 2006. Své vědomosti a zkušenosti dávám k dispozici na různých školeních a konzultacích, ale také na tomto webu. K dispozici na tomto webu je mnoho návodu, tipů a triků včetně desítek různých šablon.

   Pavel Lasák LinkedIn Profil    Pavel Lasák Google+ Profil    Pavel Lasák facebook Profil    Pavel Lasák twitter Profil

Doporučte tento článek přátelům

Pokud vám článek pomohl, případně si myslíte, že může pomoci i někomu dalšímu, budu rád když jej sdílením doporučíte přátelům - děkuji:



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.


Přidání nového komentáře

Poznámka: Z časových důvodu není v mých sílách zodpovědět všechny dotazy. Děkuji za pochopení.




(vlož číslo padesátpět)

Z bezpečnostních důvodu dočasně nemůžete použít HTML značky, kromě <code> a </code> (pro vkládání VBA kódu). Děkuji za pochopení.
Děkuji, za Vaše komentáře.

Za obsah komentářů neodpovídám, jelikož jsou komentáře publikovány ihned po jejich napsání čtenářem. Toto nemohu nijak ovlivnit. Přesto si vyhrazuji možnost jakýkoli neslušný komentář smazat bez udání důvodu. V komentářích si tykáme. ;-)






Sdílejte

Pomohl Vám návod?
Sdílejte na Facebooku, G+
LinkedIn...

Nové články


Newsletter

Přihlaste se odběru novinek a získejte:
Ebook zdarma -
10 kroků ke zvládnutí (Word, Excel, PowerPoint)
Šipka Kniha 3D Více o ebooku ...

TOPlist Licence Creative Commons webarchiv rss XML

Stránky o MS Office (Excel) produktu společnosti Microsoft. Neslouží jako technická podpora.
| Email na autora: pavel.lasak@gmail.com | Copyright © : Pavel Lasák 2004 - 2016 | 15787

Tento web zatím neprošel jazykovou korekturou. Beta verze redakčního systému.