Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:
Událost, která reaguje na provedení přepočtu listu.
Událost Worksheet_Calculate, která reaguje na přepočet listu je výhosná pro odchycení změn při filtrování. Událost Worksheet_Change nereaguje například na filtrování) případně nastává až moc často. Nebo Vám nevyhovuje událost reagující na změnu výběru Worksheet_Change. Proto pro některé případy je vhodná Worksheet_Calculate. Pomocí ní dokážete například odchytiť změny provedené při použití filtru (a vhodně na ně reagovat).
Deklarace
Private Sub Worksheet_Calculate()
End Sub
Pro první vyzkoušení můžete při každé změně, která vyvolá událost Calculate zobrazit dialogový box. Jednoduše zjistíte zda je pro Vás tato událost ta pravá nebo raději nepoužijete SelectionChange
Private Sub Worksheet_Calculate()
MsgBox ("Změna Worksheet_Calculate")
End Sub
Pro podchycení změny na listu pomocí filtru(ů) je vhodné použít událost Worksheet_Calculate. Nejprve je potřeba doplnit tabulku o vzorec (funkci) SUMA. Při změně ve filtrech dojde k přepočtu vzorce (funkce) a tím pádem i k vyvolání události Calculate.
Stačí, aby VBA kód spustil dialogový box s informací, když tato událost nastane.
Private Sub Worksheet_Calculate()
MsgBox ("Změna Worksheet_Calculate")
End Sub
Pokud s událostmi pracujete poprvé a nejste si jisti co která umí, na co která reaguje.
Jednoduše uděláte několik VBA kódu. Stačí, aby příslušný kód spustil dialogový box s příslušnou informací, která událost nastala.
Private Sub Worksheet_Calculate()
MsgBox ("Změna Worksheet_Calculate")
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
MsgBox ("Změna Worksheet_SelectionChange")
End Sub
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
MsgBox ("Změna Worksheet_Change")
End Sub
Poznámka: Takto také zjistíte, která událost nastane jako první a která posléze (tj. co má vyšší prioritu), když jsou vyvolány dvě (tři) události zároveň. Takto jednoduše pochopíte, kdy která událost zareaguje.
Další informace o událostech listu jsou v souhrném článku: Události listu v MS Excel VBA
Článek byl aktualizován: 19.09.2020 11:07
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 .
Děkuji za váš čas a doufám, že jste nalezli odpověď na svůj problém.
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.
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.
|
Pomohl Vám návod? Sdílejte na Facebooku, G+ |
||
|
LinkedIn... |
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 - 2025 |