Automatická aktualizace kontingenční tabulky při příchodu na list
S tímto tématem se setkáte na našich kurzech ExcelTown.
Aktuálně: kurzy můžete absolvovat jak online, tak prezenčně.
Kontingenční tabulku v Excelu je možné refreshovat (znovu načítat data, pokud se změnila) dvěma způsoby:
- Ručně (pravé tlačítko na tabulku a Obnovit)
- Makrem spuštěným při nějaké události - např. aktivaci listu s touto tabulkou, viz tento návod
Tento návod popisuje, jak nastavit kontingenční tabulku tak, aby se sama aktualizovala když přijdeme na list, na kterém tato tabulka je (nebo na kterém je více kontingenčních tabulek).
Pokud často měníme data a sledujeme dopad na výsledky kontingenční tabulky, může být takovéto nastavení dost zajímavé - nemusíme znovu a znovu aktualizovat.
Je třeba udělat dva kroky v editoru Visual Basicu.
Nejprve jdeme na editor kódu listu a vložíme tento kód:
'Toto makro se spustí tak, že je aktivován list Private Sub Worksheet_Activate() 'Spuštění makra obnovit 'Ukončení makra End Sub
Pak jdeme do modulu (pokud žádný zatím nemáme, tak si ho vytvoříme) a vložíme tento kód, který pomocí cyklu projde všechny tabulky a zaktualizuje je.
'Název makra Sub obnovit() 'Deklarace proměnné "kontingencni_tabulka" jako kontingencni tabulky Dim kontingencni_tabulka As PivotTable 'Začátek cyklu - ten projde všechny kontingenční tabulky v aktivním listu a provede s nimi určitou akci For Each kontingencni_tabulka In ActiveSheet.PivotTables 'Tabulka je obnovena (resp. všechny tabulky, pokud je jich více... kontingencni_tabulka.RefreshTable 'Další krok Next kontingencni_tabulka 'Konec makra End Sub
Protože soubor obsahuje makra, je nutné ho uložit např. ve formátu xlsm nebo xlsb - ne xlsx.
S tímto tématem se setkáte na našich kurzech ExcelTown.
Aktuálně: kurzy můžete absolvovat jak online, tak prezenčně.
Superrrrrr, jen by mne ještě zajímalo, jak pověsit provedení makra automaticky do buňky (resp. změní li se hodnota buňky, nechť se automaticky makro vykoná).
Viz:
https://exceltown.com/navody/makra/vba-zajimave-ukazky-maker/makro-ktere-se-samo-spousti-pri-zmene-hodnoty-bunky/