Öcsémnek segítettem a hétvégén a munkájához kapcsolódó táblázatok összerakásában. Szépen leképeztük a folyamatot és az adatbevitelt, az összesítéseket pedig kimutatásokkal készítettük el. Ahhoz, hogy az összesítések mindig a legfrissebb adatot mutassák, egy kis VBA kód segítségével megoldottuk, hogy automatikusan frissüljenek a kimutatások minden alkalommal, amikor a kimutatásokat tartalmazó munkalapra kattintunk. Lássuk, hogyan csináltuk!
- A példában a kimutatásokat a Kimutatás nevű munkalapra tettük.
- Nyisd meg a Visual Basic Editort – ez az Alt+F11 billentyűkombinációval a legegyszerűbb.
- A bal oldalon a Project Explorerben keresd meg a munkafüzetet és kattints duplán a Kimutatás munkalap nevén. Ellenőrizd, hogy az editor fejlécében megjelenik a munkalap kódneve (a példában ez Sheet14)
(Nem baj, ha neked nem jelent meg az Option Explicit – beírhatod kézzel, de e nélkül is működni fog.) - Válaszd ki a (General) alatt a Worksheetet, a (Declarations) alatt az Activate-et a képen látható módon. A kód ablakban megjelent a szükséges programkód részlet. Mit csináltunk most? Beállítottuk, hogy a kiválasztott munkalapnak (Sheet14 Worksheet) az Activate eseményéhez fogunk programot írni. Másképp fogalmazva: amikor a munkalap aktiválódik (rákattintunk) akkor fog a program lefutni. Csak program nincs még. 🙂
(A Worksheet_SelectionChange… részre nincs szükség, alább látod, hogy én kitöröltem.) - Nincs más hátra, mint megírni a programot! 🙂 A Visual Basicben egy-egy program (nevezzük mostantól szakszerűbben eljárásnak) a Sub-bal kezdődik és az End Sub-bal ér véget. Ezek közé írjuk, hogy mit kell csinálni:
ThisWorkbook.RefreshAll
Kész is van, becsukhatod az ablakot! Próbáld ki, hogy jól működik-e!
Fontos: a fájl mostantól nem menthető a hagyományos .xlsx formátumba! .xlsm (Makróbarát Excel-munkafüzet) vagy .xlsb (Bináris Excel-munkafüzet) formátumot használhatsz. Erről itt írtam részletesebben.
Kövesd az Adatkertészetet a Facebookon!
3 pings