Obsah
Návod pre začiatočníkov, ako krok za krokom zaznamenať, zobraziť, spustiť a uložiť makro. Dozviete sa aj niektoré vnútorné mechanizmy fungovania makier v programe Excel.
Makrá sú skvelým spôsobom automatizácie opakujúcich sa úloh v programe Excel. Ak sa vám stáva, že robíte stále tie isté činnosti, zaznamenajte svoje pohyby ako makro a priraďte mu klávesovú skratku. A teraz môžete všetky zaznamenané činnosti vykonať automaticky jediným stlačením klávesu!
Ako zaznamenať makro v programe Excel
Podobne ako iné nástroje VBA, aj makrá aplikácie Excel sa nachádzajú na Vývojár Najskôr je teda potrebné pridať kartu Vývojár na pásku aplikácie Excel.
Ak chcete zaznamenať makro v programe Excel, vykonajte tieto kroky:
- Na Vývojár na karte Kód kliknite na skupinu Makro záznamu tlačidlo.
Prípadne kliknite na Makro záznamu tlačidlo na ľavej strane Stav bar:
Ak uprednostňujete prácu s klávesnicou pred prácou s myšou, stlačte nasledujúcu postupnosť klávesov Alt , L , R (po jednom, nie všetky klávesy naraz).
- V Makro záznamu V zobrazenom dialógovom okne nakonfigurujte hlavné parametre makra:
- V Makro názov do poľa zadajte názov makra. Snažte sa, aby bol výstižný a popisný, aby ste neskôr mohli makro rýchlo nájsť v zozname.
V názvoch makier môžete používať písmená, číslice a podčiarkovníky, pričom prvý znak musí byť písmeno. Medzery nie sú povolené, takže by ste mali mať buď jednoslovný názov začínajúci každú časť veľkým písmenom (napr. MyFirstMacro ) alebo oddeľte slová podčiarkovníkom (napr. My_First_Macro ).
- V Klávesová skratka zadajte ľubovoľné písmeno, aby ste makru priradili klávesovú skratku (voliteľné).
Povolené sú veľké aj malé písmená, ale bolo by rozumné používať kombinácie veľkých písmen ( Ctrl + Shift + písmeno ), pretože klávesové skratky makier potláčajú všetky predvolené skratky programu Excel, kým je otvorený zošit obsahujúci makro. Ak napríklad priradíte makru klávesovú skratku Ctrl + S, stratíte možnosť ukladať súbory programu Excel pomocou skratky. Priradením klávesovej skratky Ctrl + Shift + S sa zachováštandardná skratka pre uloženie.
- Z Uložiť makro do v rozbaľovacom zozname vyberte, kam chcete makro uložiť:
- Osobný zošit makier - uloží makro do špeciálneho zošita s názvom Personal.xlsb Všetky makrá uložené v tomto zošite sú k dispozícii vždy, keď používate Excel.
- Tento pracovný zošit (predvolené) - makro sa uloží do aktuálneho zošita a bude k dispozícii pri opätovnom otvorení zošita alebo pri jeho zdieľaní s inými používateľmi.
- Nový pracovný zošit - vytvorí nový zošit a zaznamená makro do tohto zošita.
- V Popis zadajte krátky popis toho, čo vaše makro robí (nepovinné).
Hoci je toto pole nepovinné, odporúčam vám vždy uviesť stručný popis. Keď vytvoríte veľa rôznych makier, pomôže vám to rýchlo pochopiť, čo jednotlivé makrá robia.
- Kliknite na . OK na spustenie nahrávania makra.
- V Makro názov do poľa zadajte názov makra. Snažte sa, aby bol výstižný a popisný, aby ste neskôr mohli makro rýchlo nájsť v zozname.
- Vykonajte akcie, ktoré chcete automatizovať (pozrite si príklad nahrávacieho makra).
- Po dokončení kliknite na tlačidlo Zastavenie nahrávania tlačidlo na Vývojár tab:
Alebo analogické tlačidlo na Stav bar:
Príklad zaznamenania makra v programe Excel
Aby sme videli, ako to funguje v praxi, nahráme makro, ktoré na vybrané bunky aplikuje určité formátovanie. Na tento účel urobte nasledujúce kroky:
- Vyberte jednu alebo viac buniek, ktoré chcete formátovať.
- Na Vývojár karta alebo Stav kliknite na panel Makro záznamu .
- V Makro záznamu v dialógovom okne nakonfigurujte nasledujúce nastavenia:
- Názov makra Header_Formatting (pretože budeme formátovať hlavičky stĺpcov).
- Umiestnite kurzor do Klávesová skratka a súčasne stlačte klávesy Shift + F. Tým sa makru priradí klávesová skratka Ctrl + Shift + F.
- Vyberte, či chcete makro uložiť do tohto zošita.
- Pre Popis , použite nasledujúci text vysvetľujúci, čo makro robí: Vytvára text tučným písmom, pridáva farbu výplne a centruje ho .
- Kliknite na . OK na spustenie nahrávania.
- Predvolené bunky naformátujte požadovaným spôsobom. V tomto príklade použijeme tučné formátovanie textu, svetlomodrú farbu výplne a zarovnanie na stred.
Tip. Po začatí nahrávania makra nevyberajte žiadne bunky. Tým zabezpečíte, že sa všetky formátovacie apli výber , nie konkrétny rozsah.
- Kliknite na . Zastavenie nahrávania buď na Vývojár karta alebo Stav bar.
To je všetko! Vaše makro bolo zaznamenané. Teraz môžete vybrať ľubovoľný rozsah buniek v ľubovoľnom hárku, stlačiť priradenú klávesovú skratku ( Ctrl + Shift + F ) a vaše vlastné formátovanie sa okamžite použije na vybrané bunky.
Ako pracovať so zaznamenanými makrami v programe Excel
Všetky hlavné možnosti, ktoré Excel poskytuje pre makrá, sú prístupné prostredníctvom Makro Ak chcete otvoriť dialógové okno, kliknite na Makrá tlačidlo na Vývojár alebo stlačte klávesovú skratku Alt+F8.
V dialógovom okne, ktoré sa otvorí, môžete zobraziť zoznam makier dostupných vo všetkých otvorených zošitoch alebo súvisiacich s konkrétnym zošitom a využiť nasledujúce možnosti:
- Spustiť - vykoná vybrané makro.
- Vstúpte do - umožňuje ladiť a testovať makro v editore jazyka Visual Basic.
- Upraviť - otvorí vybrané makro v editore VBA, kde môžete zobraziť a upraviť kód.
- Odstrániť - natrvalo odstráni vybrané makro.
- Možnosti - umožňuje meniť vlastnosti makra, ako je napríklad pridružený Skratka kľúč a Popis .
Ako zobraziť makrá v programe Excel
Kód makra programu Excel môžete zobraziť a upraviť v editore jazyka Visual Basic. Editor otvoríte stlačením klávesov Alt + F11 alebo kliknutím na tlačidlo Visual Basic tlačidlo na Vývojár tab.
Ak vidíte editor VB po prvýkrát, necíťte sa odradení ani zastrašení. Nebudeme hovoriť o štruktúre ani syntaxi jazyka VBA. Táto časť vám len poskytne základné informácie o tom, ako fungujú makrá Excelu a čo vlastne nahrávanie makier robí.
Editor VBA má niekoľko okien, ale my sa zameriame na dve hlavné:
Projekt Explorer - zobrazí zoznam všetkých otvorených zošitov a ich hárkov. Okrem toho zobrazuje moduly, používateľské formuláre a moduly tried.
Okno s kódom - tu môžete zobraziť, upraviť a napísať kód VBA pre každý objekt zobrazený v Prieskumníkovi projektu.
Keď sme nahrali ukážkové makro, v backende sa vyskytli nasledujúce veci:
- Nový modul ( Moduel1 ) bol vložený.
- Kód makra VBA bol napísaný v okne Kód.
Ak chcete zobraziť kód konkrétneho modulu, dvakrát kliknite na modul ( Modul1 v našom prípade) v okne Prieskumníka projektu. Zvyčajne má kód makra tieto časti:
Názov makra
Vo VBA sa každé makro začína slovom Sub za ktorým nasleduje názov makra a končí symbolom Koniec Sub , kde "Sub" je skratka pre Podprogram (nazývaný aj Postup ). Naša ukážka makra má názov Header_Formatting() , takže kód začína týmto riadkom:
Sub Header_Formatting()Ak chcete premenovať makro , jednoducho odstráňte aktuálny názov a zadajte nový priamo do okna Kód.
Komentáre
Riadky s predponou apostrof ('), ktoré sú štandardne zobrazené zelenou farbou, sa nevykonávajú. Ide o komentáre pridané na informačné účely. Riadky s komentárom možno bezpečne odstrániť bez toho, aby to ovplyvnilo funkčnosť kódu.
Zaznamenané makro má zvyčajne 1 - 3 riadky komentára: názov makra (povinný); popis a skratka (ak bola zadaná pred záznamom).
Spustiteľný kód
Po komentároch nasleduje kód, ktorý vykoná zaznamenané akcie. Niekedy môže mať zaznamenané makro veľa zbytočného kódu, ktorý však môže byť užitočný pri zisťovaní, ako sa s VBA pracuje :)
Na nasledujúcom obrázku je znázornené, čo robia jednotlivé časti kódu nášho makra:
Ako spustiť zaznamenané makro
Spustením makra poviete programu Excel, aby sa vrátil k zaznamenanému kódu VBA a vykonal presne tie isté kroky. Existuje niekoľko spôsobov, ako spustiť zaznamenané makro v programe Excel, a tu sú tie najrýchlejšie:
- Ak ste priradili klávesová skratka na makro, stlačte túto skratku.
- Stlačte Alt + 8 alebo kliknite na Makrá tlačidlo na Vývojár karta. V Makro dialógové okno, vyberte požadované makro a kliknite na tlačidlo Spustiť .
Zaznamenané makro je možné spustiť aj kliknutím na vlastné tlačidlo. Tu sú kroky na jeho vytvorenie: Ako vytvoriť makro tlačidlo v programe Excel.
Ako uložiť makrá v programe Excel
Bez ohľadu na to, či ste makro nahrali alebo napísali kód VBA ručne, ak chcete makro uložiť, musíte zošit uložiť ako povolené makro (prípona .xlms). Tu je uvedený postup:
- V zošite, ktorý obsahuje makro, kliknite na tlačidlo Uložiť alebo stlačte klávesovú skratku Ctrl + S .
- V Uložiť ako dialógové okno, vyberte Pracovný zošit programu Excel s podporou makier (*.xlsm) z Uložiť ako typ rozbaľovací zoznam a potom kliknite na Uložiť :
Makrá programu Excel: čo je a čo nie je zaznamenané
Ako ste práve videli, je pomerne jednoduché zaznamenať makro v programe Excel. Ak však chcete vytvoriť efektívne makro, musíte pochopiť, čo sa deje v pozadí.
Čo sa zaznamenáva
Záznamník makier programu Excel zaznamenáva pomerne veľa vecí - takmer všetky kliknutia myšou a stlačenia klávesov. Preto by ste si mali svoje kroky dôkladne premyslieť, aby ste sa vyhli nadmernému kódu, ktorý môže mať za následok neočakávané správanie vášho makra. Nižšie uvádzame niekoľko príkladov toho, čo program Excel zaznamenáva:
- Výber buniek pomocou myši alebo klávesnice. Zaznamená sa len posledný výber pred akciou. Ak napríklad vyberiete rozsah A1:A10 a potom kliknete na bunku A11, zaznamená sa len výber A11.
- Formátovanie buniek, napríklad farba výplne a písma, zarovnanie, okraje atď.
- Formátovanie čísel, ako sú percentá, mena atď.
- Úprava vzorcov a hodnôt. Zmeny sa zaznamenajú po stlačení klávesu Enter .
- Posúvanie, presúvanie okien programu Excel, prepínanie na iné hárky a zošity.
- Pridávanie, pomenovanie, presúvanie a odstraňovanie pracovných hárkov.
- Vytváranie, otváranie a ukladanie zošitov.
- Spustenie iných makier.
Čo sa nedá zaznamenať
Napriek mnohým rôznym veciam, ktoré dokáže Excel zaznamenať, sú niektoré funkcie mimo možností programu Macro Recorder:
- Prispôsobenie panela nástrojov Excel a panela nástrojov Rýchly prístup.
- Akcie v dialógových oknách programu Excel, ako napr. Podmienené formátovanie alebo Nájsť a nahradiť (zaznamená sa len výsledok).
- Interakcie s inými programami. Napríklad nie je možné zaznamenať kopírovanie/vkladanie zo zošita programu Excel do dokumentu programu Word.
- Všetko, čo zahŕňa editor VBA. To prináša najvýraznejšie obmedzenia - mnohé veci, ktoré možno vykonať na programátorskej úrovni, nemožno zaznamenať:
- Vytváranie vlastných funkcií
- Zobrazenie vlastných dialógových okien
- Vytváranie slučiek, ako napr. Pre ďalšie , Pre každého , Robiť, kým , atď.
- Vyhodnocovanie podmienok. Vo VBA môžete použiť príkaz Ak potom inak na testovanie podmienky a spustenie kódu, ak je podmienka pravdivá, alebo iného kódu, ak je podmienka nepravdivá.
- Spustenie kódu na základe udalostí. Pomocou VBA môžete použiť mnoho udalostí na spustenie kódu spojeného s danou udalosťou (napríklad otvorenie zošita, prepočítanie pracovného hárka, zmena výberu a podobne).
- Používanie argumentov. Pri písaní makra v editore VBA môžete zadať vstupné argumenty, aby makro vykonalo určitú úlohu. Zaznamenané makro nemôže mať žiadne argumenty, pretože je nezávislé a nie je spojené s inými makrami.
- Ak napríklad nahráte makro, ktoré kopíruje konkrétne bunky, napríklad v Celkom Excel zaznamená iba adresy skopírovaných buniek. Pomocou VBA môžete kódovať logiku, t. j. kopírovať hodnoty v Celkom riadok.
Hoci vyššie uvedené obmedzenia určujú mnohé hranice pre zaznamenané makrá, stále sú dobrým východiskom. Aj keď nemáte žiadnu predstavu o jazyku VBA, môžete rýchlo zaznamenať makro a potom analyzovať jeho kód.
Užitočné tipy na zaznamenávanie makier v programe Excel
Nižšie nájdete niekoľko tipov a poznámok, ktoré vám môžu ušetriť veľa času a nervov, aby bolo vaše učenie plynulejšie a makrá efektívnejšie.
Používanie relatívnych odkazov na zaznamenávanie makier
V predvolenom nastavení Excel používa absolútne odkazovanie na To znamená, že váš kód VBA sa bude vždy odvolávať na presne tie isté bunky, ktoré ste vybrali, bez ohľadu na to, kde sa v pracovnom hárku pri spustení makra nachádzate.
Je však možné zmeniť predvolené správanie na relatívne odkazovanie V tomto prípade VBA nebude natvrdo kódovať adresy buniek, ale bude pracovať relatívne k aktívnej (aktuálne vybranej) bunke.
Ak chcete zaznamenať makro s relatívnym odkazovaním, kliknite na tlačidlo Použite Relatívne odkazy tlačidlo na Vývojár Ak sa chcete vrátiť k absolútnemu odkazovaniu, opätovným kliknutím na tlačidlo ho vypnete.
Ak napríklad zaznamenáte nastavenie tabuľky s predvoleným absolútnym odkazovaním, vaše makro vždy znovu vytvorí tabuľku na rovnakom mieste (v tomto prípade, Záhlavie v A1, Položka1 v A2, Položka2 v A3).
Sub Absolute_Referencing() Range( "A1" ). Select ActiveCell.FormulaR1C1 = "Header" Range( "A2" ). Select ActiveCell.FormulaR1C1 = "Item1" Range( "A3" ). Select ActiveCell.FormulaR1C1 = "Item2" End Sub
Ak zaznamenáte rovnaké makro s relatívnym odkazovaním, tabuľka sa vytvorí tam, kam ste umiestnili kurzor pred spustením makra ( Záhlavie v aktívnej bunke, Položka1 v nasledujúcej bunke atď.).
Sub Relative_Referencing() ActiveCell.FormulaR1C1 = "Header" ActiveCell.Offset(1, 0).Range( "A1" ). Select ActiveCell.FormulaR1C1 = "Item1" ActiveCell.Offset(1, 0).Range( "A1" ). Select ActiveCell.FormulaR1C1 = "Item2" ActiveCell.Offset(1, 0).Range( "A1" ). Select End SubPoznámky:
- Pri používaní relatívnych odkazov nezabudnite pred začatím nahrávania makra vybrať počiatočnú bunku.
- Relatívne odkazy nefungujú na všetko. Niektoré funkcie programu Excel, napr. prevod rozsahu na tabuľku, vyžadujú absolútne odkazy.
Výber rozsahov pomocou klávesových skratiek
Keď vyberiete bunku alebo rozsah buniek pomocou myši alebo klávesov so šípkami, Excel zapíše adresy buniek. Následne sa pri každom spustení makra vykonajú zaznamenané operácie presne na tých istých bunkách. Ak to nie je to, čo chcete, použite na výber buniek a rozsahov klávesové skratky.
Ako príklad uvedieme makro, ktoré nastaví špecifický formát (d-mmm-yy) pre dátumy v tabuľke nižšie:
Na tento účel zaznamenávate nasledujúce operácie: stlačením klávesovej skratky Ctrl + 1 otvorte Formátovanie buniek dialógové okno> Date> choose format> OK. Ak váš záznam zahŕňa výber rozsahu pomocou myši alebo klávesov so šípkami, Excel vytvorí nasledujúci kód VBA:
Sub Date_Format() Range( "A2:B4" ). Select Selection.NumberFormat = "d-mmm-yy" End SubSpustením vyššie uvedeného makra sa vždy vyberie rozsah A2:B4. Ak do tabuľky pridáte ďalšie riadky, makro ich nespracuje.
Teraz sa pozrieme, čo sa stane, keď vyberiete tabuľku pomocou skratky.
Umiestnite kurzor do ľavej hornej bunky cieľového rozsahu (v tomto príklade A2), spustite nahrávanie a stlačte klávesovú skratku Ctrl + Shift + End . Výsledkom bude tento prvý riadok kódu:
Range(Selection, ActiveCell.SpecialCells(xlLastCell)). SelectTento kód vyberie všetky bunky od aktívnej bunky po poslednú použitú bunku, čo znamená, že všetky nové údaje budú automaticky zahrnuté do výberu.
Prípadne môžete použiť kombináciu klávesov Ctrl + Shift + šípky:
- Ctrl + Shift + šípka doprava na výber všetkých použitých buniek napravo, po ktorých nasleduje
- Ctrl + Shift + šípka nadol na výber všetkých použitých buniek nadol.
Namiesto jedného riadku kódu sa tak vytvoria dva riadky, ale výsledok bude rovnaký - vyberú sa všetky bunky s údajmi dole a napravo od aktívnej bunky:
Range(Selection, Selection. End (xlToRight)). Select Range(Selection, Selection. End (xlDown)). SelectZaznamenanie makra pre výber namiesto konkrétnych buniek
Vyššie uvedený spôsob (t. j. výber všetkých použitých buniek počnúc aktívnou bunkou) funguje skvele na vykonávanie rovnakých operácií s celou tabuľkou. V niektorých situáciách však môžete chcieť, aby makro spracovalo skôr určitý rozsah ako celú tabuľku.
Na tento účel poskytuje VBA Výber objekt, ktorý sa vzťahuje na aktuálne vybranú bunku (bunky). Väčšinu vecí, ktoré sa dajú robiť s rozsahom, môžete robiť aj s výberom. Akú výhodu vám to dáva? V mnohých prípadoch nemusíte pri nahrávaní vybrať vôbec nič - stačí napísať makro pre aktívnu bunku. A potom vybrať ľubovoľný rozsah, spustiť makro a ono bude manipulovať s celým výberom.
Toto jednoriadkové makro môže napríklad formátovať ľubovoľný počet vybraných buniek ako percentá:
Sub Percent_Format() Selection.NumberFormat = "0.00%" End SubStarostlivo si naplánujte, čo budete nahrávať
Program Microsoft Excel Macro Recorder zaznamenáva takmer všetku vašu činnosť vrátane chýb, ktoré urobíte a opravíte. Napríklad ak stlačíte klávesovú skratku Ctrl + Z, aby ste niečo vrátili späť, aj to sa zaznamená. Nakoniec sa môže stať, že skončíte s množstvom zbytočného kódu. Ak tomu chcete zabrániť, buď kód upravte v editore VB, alebo zastavte nahrávanie, odstráňte chybné makro a začnite nahrávať odznova.
Zálohovanie alebo uloženie zošita pred spustením makra
Výsledok makier Excelu sa nedá vrátiť späť. Pred prvým spustením makra má preto zmysel vytvoriť kópiu zošita alebo aspoň uložiť aktuálnu prácu, aby ste predišli neočakávaným zmenám. Ak makro urobí niečo zlé, jednoducho zošit zatvorte bez uloženia.
Udržujte zaznamenané makrá krátke
Pri automatizácii sledu rôznych úloh môžete byť v pokušení zaznamenať ich všetky do jedného makra. Existujú dva hlavné dôvody, prečo to nerobiť. Po prvé, je ťažké zaznamenať dlhé makro plynulo a bez chýb. Po druhé, veľké makrá sa ťažko chápu, testujú a ladia. Preto je dobré rozdeliť veľké makro na niekoľko častí. Napríklad pri vytváraní súhrnnej tabuľkyz viacerých zdrojov, môžete použiť jedno makro na import informácií, druhé na konsolidáciu údajov a tretie na formátovanie tabuľky.
Dúfam, že vám tento návod pomohol pochopiť, ako zaznamenať makro v programe Excel. Každopádne vám ďakujem za prečítanie a dúfam, že sa uvidíme na našom blogu budúci týždeň!