Műveletek makrókkal A munkafüzettel együtt tárolt, minden munkalapon elérhető makrót a Fejlesztőeszközök szalag Makrók párbeszédpanelje segítségével nyithatjuk meg, innen végezhetjük el a makrókkal megoldandó feladatokat (lásd az ábrát). A párbeszédpanelen a Szerkesztés nyomógombra kattintás után modullapon módosíthatjuk a kiválasztott makró utasításait. A párbeszédpanel Leírás mezőjében látszik a makró létrehozásakor megadott emlékeztető szöveg.
Makró futtatása párbeszédpanelről A Makró párbeszédpanel Indítás nyomógombja indítja el a listán kiválasztott makró futtatását. Ugyanennek a parancsnak felel meg a Visual Basic eszköztár Makró indítása ikonja is, de használhatjuk a maró létrehozásakor megadott gyors (Ctrl+) billentyűkombinációt is. Példa – Makró futtatása Futtassuk le az előző példában készített Színezés nevű makrónkat e módon. Ekkor a program átszínezi a következő „számítógép”-et tartalmazó cellát. Megoldás 1. Kattintsunk a Fejlesztőeszközök szalagfülre! 2. Kattintsunk a Makrók gombra, vagy nyomjuk meg az Alt+F8 billentyűkombinációt! 3. A Makró párbeszédpanel Makrónév listájában kattintással válasszuk ki a Színezés nevű makrót! 4. Kattintsunk az Indítás gombra! Ekkor a makró lefut, azaz megkeresi a „számítógép” szó következő előfordulását és azt a rögzített eljárásnak megfelelően formázza, ugyanakkor bezárja a Makró párbeszédpanelt. Természetesen lehetett volna egyszerre kijelölni a „számítógép” szó összes előfordulását is.
A Színezés makró futtatása a Makró párbeszédpanelről
Makró ismételt futtatása Az ismételt futtatás – mint bármely Excel parancs – az F4 billentyűvel is indítható. A makró lépésenkénti végrehajtására szolgál a Lépésenként nyomógomb vagy a Visual Basic eszköztár
Makróléptetés ikonja is.
Példa – Makró futtatása Mivel az előbb a színezés csak a „számítógép” szó következő előfordulására vonatkozott, futtassuk le az előző példában készített Színezés nevű makrónkat ismét e módon. Ekkor a program átszínezi a következő „számítógép”-et tartalmazó cellát. Megoldás 1. Kattintsunk a Fejlesztőeszközök szalagfülre! 2. Kattintsunk a Makrók gombra, vagy nyomjuk meg az Alt+F8 billentyűkombinációt! 3. A Makró párbeszédpanel Makrónév listájában kattintással válasszuk ki a Színezés nevű makrót! 4. Kattintsunk az Indítás gombra! Ekkor a makró lefut, azaz megkeresi a „számítógép” szó következő előfordulását és azt a rögzített eljárásnak megfelelően formázza, majd bezárja a Makró párbeszédpanelt. Célszerűbb tehát – amíg másik műveletet nem végeztünk – az utolsó műveletet megismételni az F4 billentyűvel! 5. Nyomjuk le az F4 billentyűt! Minden egyes billentyű lenyomás – a Makró párbeszédpanel megjelenése nélkül – megkeresi a „számítógép” szó következő előfordulását és azt a rögzített eljárásnak megfelelően formázza.
Makró szerkesztése Az egyszerűbb makrókat utasítássorozatok rögzítésével határozzuk meg, de írhatunk akár olyan Visual Basic utasításokat is tartalmazó sokoldalú és hatékony makrókat is, amelyeket rögzítéssel nem lehet létrehozni. Ilyen utasításokkal bővíthetjük a rögzített makró utasításait is. Az Excel munkafüzethez csatolt makró a beépített Visual Basic Editor (for Applications) programmal írható és szerkeszthető. A szerkesztéshez adjuk ki a Fejlesztőeszközök szalag Makrók parancsát (lásd az előző ábrát)! A Makrónév mezőbe írjuk be a makró nevét vagy válasszuk ki a listából. Kattintsunk a Szerkesztés gombra! Ekkor megjelenik a Visual Basic eszköztár és munkaablak, amelyen szerkeszthetjük a kiválasztott makrót. Például lásd az előző feladat makróját a következő ábrán. A Visual Basic nyelv leírására e tanfolyam lapjain – helyszűke miatt – nincs módunk. Tanácsoljuk a súgó áttekintését, amelyben (egyelőre csak angol nyelven) részletes tájékoztatást kapunk. Egy későbbi leckében azonban vázlatos áttekintést adunk a Visual Basic program szintaktikájáról. Példa – Makró szerkesztése A Makró használata az Excelben e-szeminárium további részeiben még több példát látunk a makrók szerkesztésére, most azonban nézzük meg a korábbi példában létrehozott „Színezés” makrót a Visual Basic szerkesztőablakban! Megoldás 1. Kattintsunk a Fejlesztőeszközök szalagfülre! 2. Kattintsunk a Makrók gombra, vagy nyomjuk meg az Alt+F8 billentyűkombinációt! 3. A Makró párbeszédpanel Makrónév listájában kattintással válasszuk ki a Színezés nevű makrót! 4. Kattintsunk a Szerkesztés gombra! Megnyílik a Visual Basic for Applications ablak és benne a makrónk (lásd az ábrát). 5. Mivel most még nem tudunk vele mit kezdeni, zárjuk be a VB ablakot!
A Színezés makró utasításai a VB szerkesztőablakban
Makró másolása Egy meglévő makró felhasználható egy másik makróban is. Ehhez a makró szükséges parancsait, vagy a teljes makrót egy másik modulba másolhatjuk. Másolat készíthető a makró moduljáról, hogy az összes benne tárolt makróról még egy példány álljon rendelkezésre. A makrók másolhatók munkafüzetek között is. A makró létrehozásakor választhattunk, hogy hol tároljuk a makrót. Az Egyéni makrómunkafüzetben listaelemet választva a makró a personal.xls fájlba kerül, így a makró mindig rendelkezésre áll majd az Excel használatakor. Ha viszont az Ebben a munkafüzetben elemet választottuk, akkor a makró csak úgy használható másik munkafüzetben, ha utólag másoljuk be a personal.xls fájlba vagy abba a munkafüzetbe, amelyből el szeretnénk érni. Példa – Makró másolása A „Színezés” makrót másoljuk egy másik munkafüzetbe! Megoldás 1. Nyissunk egy új munkafüzetet a Fájl szalagfül Új parancsával! 2. A Nézet szalag Mozaik parancsával rendezzük egymás mellé a két munkafüzetet! 3. Kattintsunk a Színezés makrót tartalmazó munkafüzetbe! 4. Kattintsunk a Fejlesztőeszközök szalagfülre! 5. Kattintsunk a Visual Basic gombra! Megnyílik a Visual Basic for Applications ablak és benne a makrónk (lásd az ábrát).
Makró másolása húzással 6. Húzzuk át a makrót tartalmazó Module1 modullapot a Project panelen a másik munkafüzet projektjébe, azaz a VBAProject(Munkafüzet2) ágba! Kiegészítés: Ezzel a módszerrel nemcsak a Színezés makrót, hanem a Module1 modullapon szereplő többi makrót is átmásoltuk. A modullapokról később még lesz szó.
Makrórészlet másolása Arra is módunk van, hogy csak egyetlen makrót, vagy annak egyes kijelölt részletét másoljuk. Ez különösen hasznos, ha már kipróbált részleteket akarunk beilleszteni egy újabb makróba. A másolandó makrót tartalmazó munkafüzet megnyitása után adjuk ki a Fejlesztőeszközök szalag Makrók parancsát. A Makrónév mezőbe írjuk a másolandó makró nevét vagy válasszuk ki azt a listából, utána kattintsunk a Szerkesztés nyomógombra. A makró az Excel használatakor mindig elérhető lesz, ha a Minden nyitott munkafüzetben lehetőséget adjuk meg a Makrók helye listában. A Visual Basic szerkesztőablakban jelöljük ki a makró másolni kívánt sorait. A teljes makró másolásához a Sub és az End Sub sorokat is ki kell jelölnünk. Ezután kattintsunk a Másolás gombra vagy nyomjuk meg a Ctrl+C, illetve a Ctrl+Ins billentyűkombinációt. Váltsunk át arra a modulra (szükség esetén a másik munkafüzet moduljára), amelybe a kódot be szeretnénk illeszteni, majd kattintsunk a Beillesztés gombra vagy nyomjuk meg a Ctrl+V, illetve a Shift+Ins billentyűkombinációt. Ugyanígy másolhatunk kijelölt sorokat az egyik makróból egy másik makróba (vagy makrón belül), mindegy, hogy az a makró egy másik modulban van-e. Makrón belüli másoláshoz használhatjuk a kijelölt sorok húzását a Ctrl billentyű nyomva tartása közben (ilyenkor az egérmutató mellett + jel jelenik meg). A mozgatást szintén húzással, de a Ctrl billentyű nyomva tartása nélkül végezzük.
Makró futtatása eszköztárgombbal Makrót beépített vagy egyéni szalag, illetve a gyorselérési eszköztár gombjairól is futtathatunk. Ezzel a létező leggyorsabb módon egyetlen kattintással indíthatunk el egy makrót.
Feladat: Makró eszköztárgombhoz kapcsolása Készítsünk egy eszköztárgombot a Gyorselérési eszköztárra! Megoldás 1. Kattintsunk a Fájl szalagfülre, majd a Beállítások parancsra! 2. Az Excel beállításai párbeszédpanelen Menüszalag testreszabása vagy Gyorselérési eszköztár kategóriáját jelenítsük meg, majd a Választható parancsok helye listában válasszuk a Makrók elemet! 3. Keressük ki a makrók alsó listájából a szükséges (esetünkben a színezés) makrót, majd kattintsunk a Felvétel gombra! 4. Utána zárjuk be az OK gombbal a párbeszédpanelt! Ekkor a makró ikonja megjelenik a gyorselérési eszköztárban. 5. Próbáljuk ki, minden kattintás megkeresi a Számítógép szót tartalmazó cellát és formázza. A gyorselérési eszköztárban a makróhoz rendelt ikont egy másik képre cserélhetjük a Módosítás gombra kattintva megjelenő párbeszédpanelen.
A makró gombját a gyorselérési eszköztárba vesszük fel