Miért jó a makró vagy VBA? Miért érdemes megtanulni? Miért érdemes használni a makrót Excel környezetben?
A makró és a VBA szinonimák. Utóbbi rövidítés a Visual Basic for Application kifejezésből származik. Ez egy olyan programozási nyelv, ami már nagyon hosszú ideje, legalább 20 éve benne van az Excelben. Ezen a programnyelven lehet különféle kisebb nagyobb makrókat, illetve akár komplett Office alapú alkalmazást készíteni.
Ebben az előadásban Perjési Zoltán makró oktató 7 kisebb-nagyobb makrós, VBA-s demót mutat be kedvcsinálónak, hogy egyáltalán mire is képes a VBA. Nézd meg videón, vagy olvass tovább.
A teljes előadás az ExcelKlub.hu oldalon nézhető meg, regisztráció után:
A makró előnyei
Legfőképpen a gyorsítás, de sok esetben az egyszerűsítés, illetve a hibamentes működtetés. Egy jól megírt makró rengeteg időt tud spórolni. Különösen az ismétlődő, “sziszifuszi” feladatoknál érdemes elgondolkodni a makró bevetésén.
Automatizálás viszonylag alacsony költségen. Hiszen az Excel vagy az Office ott van nagyon sok gépen. Ezek a gépek alkalmasak arra, hogy makrókat írj rajta – nem kell külön fejlesztői környezetre előfizetni.
Sokan nem is tudják, hogy mi mindent lehet VBA-ra építeni. Gyakran kérdezik tőlem, hogy ‘ezt meg lehet csinálni VBA-ban, vagy azt meg lehet csinálni VBA-val?’ Az esetek 99% ban az a válasz, hogy igen, mert amit az Excelben meg lehet csinálni azt meg lehet VBA programozással csinálni, sőt, ott még többet is.
Makró rögzítés és visszajátszás
Kezdem is az elsővel: felveszünk valamit és utána lejátszuk.
A felvétel úgy indul, hogy a bal alsó sarokban elindítom a rögzítést, majd adok neki egy nevet (mondjuk demó), és ebben a munkafüzetben fogom majd tárolni.
Már mehet is a felvétel. Mindent rögzít, amit csinálok, pl. oszlopszélesség állítás, azután fejléc formázás: színes lesz, félkövér, középre igazítva, elnevezve: Név ID, Születési dátum
A C oszlopban a születési dátumokra rövid dátum formátumot állítok be, és akkor garantált, hogy ide biztosan dátum kerül olyan formátumban ahogyan én azt szeretném. Talán még bekattintok ide az A2-be és megállítom a felvételt.
Elkészült a makró. A lényeg, hogy újra le lehet játszani: ha egy új munkalapra megyek és a makrót elindítom, akkor szépen beállítja az oszlopszélességet, a formázásokat és elő van készítve a dátum formátum.
Nem beszélve arról hogy ha egy új munkafüzetetben (Ctrl N) is működik – pedig a makró az a másik fájlban van.
Az elérhető makrókat az Alt F8 billentyűparanccsal jelenítheted meg (vagy a Nézet / Makrók / 'Makrók megjelenítése' paranccsal).
Makró szerkesztése
Az élet sajnos nem ennyire vegytiszta… A második lépés amikor már sajnos muszáj belenyúlni a makróba, mert nem lehet mindent felvenni.
Ez egy valódi feladat volt egy ügyfelemnél, egy banknak: biztosítéki lap gyűjtemény, ahol a biztosítékok szerepeltek és a különböző ügyleteknél hozzá lehetett adni, hogy milyen biztosíték szerepelt az egyes ügyletekben, adott ügyfélre vonatkoztatva. A biztosítékok száma a J2 cellában, és az ügyletek száma az L2-es cellában adható meg.
Ahogy változnak ezek a számok, az automatizmus előkészíti a sablont a megadott számok szerint, és a szükséges számú sor, illetve táblázat szerepel a munkalapon, megfelelően beképletezve:
A számok átírásakor kicsit gondolkozik a gép, hiszen sok mindent kell csinálni háttérben, de elvégzi az átalakítást, és ki is írja a végén, hogy a ‘Módosítás kész’. Akár csökkenteni is lehet a számokat – tehát ez egy oda-vissza nagyon kényelmesen állítható felület -, akkor törli a felesleges sorokat, és ezzel együtt a képletek is módosulnak.
Ez kis lépés a programozónak, hiszen ez azért nem annyira bonyolult helyzet, viszont a felhasználónak egy teljesen más világ nyílik, amikor nem egy merev 40 soros táblázatban kell dolgoznia, hanem pontosan az igényeknek megfelelő méretű.
Makrók futtatása automatikusan
Ez egy elméleti feladat: Tegyük fel azt az esetet, hogy az A oszlopba be akarok írni egy nettó értéket és jelenjen meg mellette a bruttó érték.
Akár egyszerűen be is lehetne képletezni a B oszlopot. A probléma ott van, hogy előre meg kell saccolnom, hogy hányadik sorig szeretném ezt a táblázatot használni. Lehet, hogy feleslegesen sokat képletezek, de az is lehet, kevesebbet.
Egy makró hozzáadásával teljesen mindegy, hogy az A oszlopban hova írom be majd nettó értéket, a bruttót rögtön kiszámolja mellé.
Ilyenkor eseményvezérléssel automatikusan indul el a makró, ezért jelenik meg egyből az eredmény.
Makró tanulás, makró tanfolyam
Összességében a makró írás komoly programozói szemléletet kíván:
- Biztos, hogy megismételhető a műveletsor?
- Nem törölsz véletlenül egy fontos adatot?
- Másik fájlban / munkalapon is működni fog?
Emiatt javaslom, hogy kísérletezgetés helyett gyere el egy makró workshopra, ha szeretnéd jobban megismerni a makrókat.
A makró-alapok tréningen jobban megérted a makrók működését, de még nem leszel profi ‘programozó’. Ahhoz hosszas gyakorlás kell, ami nem mindenkinek való. De nem is ez a cél, hiszen akár kis lépések is óriási előnyöket, óriási sebességnövekedést vagy biztonságot jelentenek használat során.
A teljes videó vagy a workshop alapján már jobban látod, hogy milyen folyamatok automatizálhatóak makrókkal, és mérlegelheted, hogy megpróbálkozol magad, vagy megbízol egy szakembert az elkészítésével. Utóbbi esetben sokat gyorsít a munkán, ha már “közös nyelvet” beszéltek, és szakszerűen tudod vázolni az igényeid.
Az előadás végét megnézheted a VIP Klubban: https://excelklub.hu/
Azért is érdemes regisztrálnod, mert Klubtagként 25% kedvezménnyel jöhetsz a workshopokra, így ha szeretnél beletanulni a makrókba, akkor rögtön meg is térül a befektetésed. Emellett a Klubban rengeteg hasznos Excel tudáshoz jutsz.
Makró workshop: https://exceltitok.hu/makro-alapok-workshop/