Jak zaznamenat makro v aplikaci Excel

  • Sdílet Toto
Michael Brown

Výukový program pro začátečníky, který vás krok za krokem naučí zaznamenat, zobrazit, spustit a uložit makro. Dozvíte se také některé vnitřní mechanismy fungování maker v Excelu.

Makra jsou skvělým způsobem, jak automatizovat opakující se úlohy v aplikaci Excel. Pokud se vám stává, že děláte stále stejné činnosti, nahrajte své pohyby jako makro a přiřaďte mu klávesovou zkratku. Nyní můžete všechny nahrané činnosti provádět automaticky jediným stisknutím klávesy!

    Jak zaznamenat makro v aplikaci Excel

    Stejně jako ostatní nástroje VBA se makra aplikace Excel nacházejí v adresáři Vývojář Karta Vývojář je ve výchozím nastavení skryta. Nejdříve je tedy třeba přidat kartu Vývojář na pás karet aplikace Excel.

    Chcete-li v aplikaci Excel zaznamenat makro, proveďte následující kroky:

    1. Na Vývojář na kartě Kód klikněte na skupinu Makro záznamu tlačítko.

      Případně klikněte na Makro záznamu tlačítko na levé straně Stav bar:

      Pokud dáváte přednost práci s klávesnicí před prací s myší, stiskněte následující sekvenci kláves Alt , L , R (postupně, ne všechny klávesy najednou).

    2. V Makro záznamu v zobrazeném dialogovém okně nakonfigurujte hlavní parametry makra:
      • V Makro název do pole zadejte název makra. Snažte se, aby byl výstižný a popisný, abyste později mohli makro v seznamu rychle najít.

        V názvech maker můžete používat písmena, číslice a podtržítka; prvním znakem musí být písmeno. Mezery nejsou povoleny, takže byste měli buď ponechat jednoslovný název začínající každou částí velkým písmenem (např. MyFirstMacro ) nebo oddělit slova podtržítkem (např. My_First_Macro ).

      • V Klávesová zkratka zadejte libovolné písmeno a přiřaďte makru klávesovou zkratku (volitelné).

        Povolena jsou jak velká, tak malá písmena, ale bylo by rozumné používat kombinace velkých kláves ( Ctrl + Shift + písmeno ), protože klávesové zkratky maker potlačují všechny výchozí klávesové zkratky aplikace Excel, dokud je otevřen sešit obsahující makro. Pokud například přiřadíte makru klávesy Ctrl + S, ztratíte možnost ukládat soubory aplikace Excel pomocí klávesové zkratky. Přiřazením kláves Ctrl + Shift + S zůstane zachována možnost ukládat soubory aplikace Excel pomocí klávesové zkratky.standardní zkratka pro ukládání.

      • Z Uložit makro do v rozevíracím seznamu vyberte, kam chcete makro uložit:
        • Osobní sešit maker - uloží makro do speciálního sešitu s názvem Personal.xlsb . Všechna makra uložená v tomto sešitě jsou k dispozici při každém použití aplikace Excel.
        • Tento pracovní sešit (výchozí) - makro bude uloženo v aktuálním sešitě a bude k dispozici při jeho opětovném otevření nebo sdílení s ostatními uživateli.
        • Nový pracovní sešit - vytvoří nový sešit a zaznamená makro do tohoto sešitu.
      • V Popis zadejte krátký popis toho, co makro dělá (nepovinné).

        Ačkoli je toto pole nepovinné, doporučuji vždy uvést stručný popis. Pokud vytváříte mnoho různých maker, pomůže vám to rychle pochopit, co které makro dělá.

      • Klikněte na OK a spustíte nahrávání makra.

    3. Proveďte akce, které chcete automatizovat (viz příklad nahrávacího makra).
    4. Po dokončení klikněte na tlačítko Zastavení nahrávání tlačítko na Vývojář tab:

      Nebo analogické tlačítko na Stav bar:

    Příklad záznamu makra v aplikaci Excel

    Abychom viděli, jak to funguje v praxi, nahrajeme makro, které na vybrané buňky aplikuje určité formátování. Za tímto účelem proveďte následující kroky:

    1. Vyberte jednu nebo více buněk, které chcete formátovat.
    2. Na Vývojář karta nebo Stav klikněte na Makro záznamu .
    3. V Makro záznamu dialogového okna nakonfigurujte následující nastavení:
      • Název makra Header_Formatting (protože budeme formátovat záhlaví sloupců).
      • Umístěte kurzor do Klávesová zkratka a současně stiskněte klávesy Shift + F. Tím se makru přiřadí klávesová zkratka Ctrl + Shift + F.
      • Zvolte uložení makra do tohoto sešitu.
      • Pro Popis , použijte následující text vysvětlující, co makro dělá: Vytvoří text tučně, přidá barvu výplně a vycentruje jej. .
      • Klikněte na OK pro spuštění nahrávání.

    4. Předem vybrané buňky naformátujte požadovaným způsobem. V tomto příkladu použijeme tučné formátování textu, světle modrou barvu výplně a zarovnání na střed.

      Tip: Po zahájení nahrávání makra nevybírejte žádné buňky. Tím zajistíte, že se veškeré formátování aplikuje do makra. výběr , nikoliv konkrétní rozsah.

    5. Klikněte na Zastavení nahrávání buď na Vývojář nebo na kartě Stav bar.

    To je vše! Vaše makro bylo zaznamenáno. Nyní můžete vybrat libovolný rozsah buněk v libovolném listu, stisknout přiřazenou klávesovou zkratku ( Ctrl+ Shift+F ) a vaše vlastní formátování se okamžitě použije na vybrané buňky.

    Jak pracovat se zaznamenanými makry v aplikaci Excel

    Všechny hlavní možnosti, které Excel pro makra poskytuje, jsou přístupné prostřednictvím příkazu Makro Chcete-li otevřít dialogové okno, klikněte na Makra tlačítko na Vývojář nebo stiskněte klávesovou zkratku Alt+F8.

    V otevřeném dialogovém okně můžete zobrazit seznam maker dostupných ve všech otevřených sešitech nebo přidružených k určitému sešitu a využít následující možnosti:

    • Spustit - spustí vybrané makro.
    • Vstupte do - umožňuje ladit a testovat makro v editoru Visual Basicu.
    • Upravit - otevře vybrané makro v Editoru VBA, kde můžete zobrazit a upravit kód.
    • Odstranit - trvale odstraní vybrané makro.
    • Možnosti - umožňuje měnit vlastnosti makra, například přidružený parametr Zkratka klíč a Popis .

    Jak zobrazit makra v aplikaci Excel

    Kód makra Excelu lze zobrazit a upravit v Editoru jazyka Visual Basic. Editor otevřete stisknutím kláves Alt + F11 nebo kliknutím na tlačítko Visual Basic tlačítko na Vývojář tab.

    Pokud vidíte editor VB poprvé, nenechte se odradit ani zastrašit. Nebudeme hovořit o struktuře ani syntaxi jazyka VBA. Tato část vám pouze poskytne základní informace o tom, jak makra Excelu fungují a co vlastně nahrávání makra dělá.

    Editor VBA má několik oken, ale my se zaměříme na dvě hlavní:

    Projekt Explorer - zobrazí seznam všech otevřených sešitů a jejich listů. Dále zobrazí moduly, uživatelské formuláře a moduly tříd.

    Okno s kódem - zde můžete zobrazit, upravit a zapsat kód VBA pro každý objekt zobrazený v Průzkumníku projektu.

    Když jsme nahráli ukázkové makro, v backendu došlo k následujícím událostem:

    • Nový modul ( Moduel1 ).
    • Kód makra VBA byl napsán v okně Kód.

    Chcete-li zobrazit kód konkrétního modulu, dvakrát klikněte na modul ( Modul1 v našem případě) v okně Průzkumník projektu. Obvykle má kód makra tyto části:

    Název makra

    Ve VBA začíná každé makro znakem Sub následuje název makra a končí znakem End Sub , kde "Sub" je zkratka pro Podprogram (nazývaná také Postup ). Naše ukázkové makro se jmenuje Header_Formatting() , takže kód začíná tímto řádkem:

    Sub Header_Formatting()

    Pokud si přejete přejmenovat makro , jednoduše smažte aktuální název a zadejte nový přímo do okna Kód.

    Komentáře

    Řádky s předponou apostrof ('), které jsou ve výchozím nastavení zobrazeny zeleně, se neprovádějí. Jedná se o komentáře přidané pro informační účely. Řádky s komentáři lze bezpečně odstranit, aniž by byla ovlivněna funkčnost kódu.

    Obvykle má nahrané makro 1 až 3 řádky komentáře: název makra (povinný); popis a zkratka (pokud byla zadána před nahráváním).

    Spustitelný kód

    Po komentářích následuje kód, který provede nahrané akce. Někdy může nahrané makro obsahovat spoustu zbytečného kódu, který může být přesto užitečný pro zjištění, jak věci ve VBA fungují :)

    Níže uvedený obrázek ukazuje, co dělají jednotlivé části kódu našeho makra:

    Jak spustit nahrané makro

    Spuštěním makra řeknete aplikaci Excel, aby se vrátila k zaznamenanému kódu VBA a provedla přesně stejné kroky. Existuje několik způsobů, jak spustit zaznamenané makro v aplikaci Excel, a zde jsou ty nejrychlejší:

    • Pokud jste přiřadili klávesová zkratka k makru, stiskněte tuto klávesovou zkratku.
    • Stiskněte klávesy Alt + 8 nebo klikněte na Makra tlačítko na Vývojář na kartě Makro dialogové okno, vyberte požadované makro a klikněte na tlačítko Spustit .

    Zaznamenané makro je možné spustit také kliknutím na vlastní tlačítko. Zde je postup pro jeho vytvoření: Jak vytvořit makro tlačítko v aplikaci Excel.

    Jak uložit makra v aplikaci Excel

    Ať už jste nahráli makro, nebo napsali kód VBA ručně, pro uložení makra je třeba sešit uložit jako povolené makro (přípona .xlms). Zde je uveden postup:

    1. V sešitě obsahujícím makro klikněte na tlačítko Uložit nebo stiskněte klávesy Ctrl + S .
    2. V Uložit jako dialogového okna vyberte možnost Sešit aplikace Excel s podporou maker (*.xlsm) z Uložit jako typ v rozevíracím seznamu a klikněte na tlačítko Uložit :

    Makra aplikace Excel: co je a co není zaznamenáno

    Jak jste právě viděli, je poměrně snadné zaznamenat makro v aplikaci Excel. Abyste však mohli vytvářet efektivní makra, musíte pochopit, co se děje v pozadí.

    Co je zaznamenáno

    Záznamník maker aplikace Excel zaznamenává poměrně hodně věcí - téměř všechna kliknutí myší a stisky kláves. Měli byste si tedy své kroky dobře promyslet, abyste se vyhnuli nadbytečnému kódu, který by mohl vést k neočekávanému chování makra. Níže uvádíme několik příkladů toho, co aplikace Excel zaznamenává:

    • Výběr buněk pomocí myši nebo klávesnice. Zaznamená se pouze poslední výběr před akcí. Pokud například vyberete rozsah A1:A10 a poté kliknete na buňku A11, zaznamená se pouze výběr buňky A11.
    • Formátování buněk, jako je barva výplně a písma, zarovnání, ohraničení atd.
    • Formátování čísel, jako jsou procenta, měna atd.
    • Úprava vzorců a hodnot. Změny se zaznamenají po stisknutí klávesy Enter .
    • Posouvání, přesouvání oken aplikace Excel, přepínání na jiné listy a sešity.
    • Přidávání, pojmenovávání, přesouvání a mazání pracovních listů.
    • Vytváření, otevírání a ukládání sešitů.
    • Spuštění dalších maker.

    Co nelze zaznamenat

    Přestože Excel umí zaznamenávat mnoho různých věcí, některé funkce jsou mimo možnosti programu Makro Recorder:

    • Přizpůsobení pásu karet aplikace Excel a panelu nástrojů Rychlý přístup.
    • Akce uvnitř dialogových oken aplikace Excel, např. Podmíněné formátování nebo Najít a nahradit (zaznamená se pouze výsledek).
    • Interakce s jinými programy. Například nelze zaznamenat kopírování/vkládání ze sešitu aplikace Excel do dokumentu aplikace Word.
    • Cokoli, co zahrnuje editor VBA. Z toho vyplývají nejvýznamnější omezení - mnoho věcí, které lze provést na programátorské úrovni, nelze zaznamenat:
      • Vytváření vlastních funkcí
      • Zobrazení vlastních dialogových oken
      • Vytváření smyček, jako jsou Pro další , Pro každý , Do While , atd.
      • Vyhodnocování podmínek. Ve VBA můžete použít příkaz IF Then Else testovat podmínku a spustit nějaký kód, pokud je podmínka pravdivá, nebo jiný kód, pokud je podmínka nepravdivá.
      • Spuštění kódu na základě událostí. Pomocí jazyka VBA můžete použít mnoho událostí ke spuštění kódu spojeného s danou událostí (například otevření sešitu, přepočítání listu, změna výběru atd.).
      • Použití argumentů. Při psaní makra v Editoru VBA můžete zadat vstupní argumenty, aby makro provedlo určitou úlohu. Zaznamenané makro nemůže mít žádné argumenty, protože je nezávislé a není spojeno s jinými makry.
      • Například pokud nahrajete makro, které kopíruje určité buňky, např. v poli Celkem Excel zaznamená pouze adresy zkopírovaných buněk. Pomocí VBA můžete kódovat logiku, tj. kopírovat hodnoty v řádku. Celkem řádek.

    Přestože výše uvedená omezení nastavují pro nahraná makra řadu hranic, jsou stále dobrým výchozím bodem. I když nemáte o jazyce VBA žádné ponětí, můžete si makro rychle nahrát a poté analyzovat jeho kód.

    Užitečné tipy pro záznam maker v aplikaci Excel

    Níže najdete několik tipů a poznámek, které vám mohou ušetřit spoustu času a nervů, takže vaše učení bude plynulejší a makra efektivnější.

    Použití relativních odkazů pro záznam maker

    Ve výchozím nastavení používá aplikace Excel absolutní odkazování na To znamená, že váš kód VBA by se vždy odkazoval na přesně ty samé buňky, které jste vybrali, bez ohledu na to, kde se v pracovním listu při spuštění makra nacházíte.

    Je však možné změnit výchozí chování na relativní odkazování . V tomto případě nebude VBA natvrdo zapisovat adresy buněk, ale bude pracovat relativně k aktivní (aktuálně vybrané) buňce.

    Chcete-li nahrát makro s relativním odkazem, klikněte na tlačítko Použijte Relativní odkazy tlačítko na Vývojář Chcete-li se vrátit k absolutnímu odkazování, opětovným kliknutím na tlačítko jej vypněte.

    Pokud například zaznamenáte nastavení tabulky s výchozím absolutním odkazem, makro vytvoří tabulku vždy znovu na stejném místě (v tomto případě, Záhlaví v kategorii 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

    Pokud zaznamenáte stejné makro s relativním odkazem, bude tabulka vytvořena tam, kam umístíte kurzor před spuštěním makra ( Záhlaví v aktivní buňce, Položka1 v následující buňce atd.).

    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 Sub

    Poznámky:

    • Při použití relativních odkazů nezapomeňte před zahájením záznamu makra vybrat počáteční buňku.
    • Relativní odkazy nefungují pro všechno. Některé funkce aplikace Excel, např. převod rozsahu na tabulku, vyžadují absolutní odkazy.

    Výběr rozsahů pomocí klávesových zkratek

    Když vyberete buňku nebo rozsah buněk pomocí myši nebo kláves se šipkami, Excel zapíše adresy buněk. V důsledku toho se při každém spuštění makra provedou zapsané operace přesně ve stejných buňkách. Pokud to není to, co chcete, použijte pro výběr buněk a rozsahů klávesové zkratky.

    Jako příklad uveďme makro, které nastaví konkrétní formát (d-mmm-yy) pro data v tabulce níže:

    Za tímto účelem zaznamenáte následující operace: stisknutím klávesové zkratky Ctrl + 1 otevřete okno Formátování buněk dialog> Datum> zvolit formát> OK. Pokud váš záznam zahrnuje výběr rozsahu pomocí myši nebo kláves se šipkami, Excel vytvoří následující kód VBA:

    Sub Date_Format() Range( "A2:B4" ). Select Selection.NumberFormat = "d-mmm-yy" End Sub

    Při spuštění výše uvedeného makra by byl pokaždé vybrán rozsah A2:B4. Pokud do tabulky přidáte další řádky, makro je nezpracuje.

    Nyní se podíváme, co se stane, když vyberete tabulku pomocí klávesové zkratky.

    Umístěte kurzor do levé horní buňky cílového rozsahu (v tomto příkladu A2), spusťte nahrávání a stiskněte klávesy Ctrl + Shift + End . Výsledkem bude první řádek kódu, který bude vypadat takto:

    Range(Selection, ActiveCell.SpecialCells(xlLastCell)). Select

    Tento kód vybere všechny buňky od aktivní buňky až po poslední použitou buňku, což znamená, že všechna nová data budou automaticky zahrnuta do výběru.

    Můžete také použít kombinaci kláves Ctrl + Shift + šipky:

    • Ctrl + Shift + šipka vpravo pro výběr všech použitých buněk vpravo, po kterém následuje příkaz
    • Ctrl + Shift + šipka dolů pro výběr všech použitých buněk dolů.

    Místo jednoho řádku kódu tak vzniknou dva, ale výsledek bude stejný - budou vybrány všechny buňky s daty dole a napravo od aktivní buňky:

    Range(Selection, Selection. End (xlToRight)). Select Range(Selection, Selection. End (xlDown)). Select

    Záznam makra pro výběr místo konkrétních buněk

    Výše uvedený způsob (tj. výběr všech použitých buněk počínaje aktivní buňkou) funguje skvěle pro provádění stejných operací s celou tabulkou. V některých situacích však můžete chtít, aby makro zpracovávalo spíše určitý rozsah než celou tabulku.

    K tomu VBA poskytuje Výběr objektu, který se vztahuje k aktuálně vybrané buňce (buňkám). Většinu věcí, které lze provádět s rozsahem, lze provádět i s výběrem. Jakou výhodu vám to dává? V mnoha případech nemusíte při záznamu vybírat vůbec nic - stačí napsat makro pro aktivní buňku. A pak vybrat libovolný rozsah, spustit makro a ono bude manipulovat s celým výběrem.

    Například toto jednořádkové makro může formátovat libovolný počet vybraných buněk jako procenta:

    Sub Percent_Format() Selection.NumberFormat = "0.00%" End Sub

    Pečlivě si naplánujte, co budete nahrávat

    Záznamník maker aplikace Microsoft Excel zaznamenává téměř veškerou vaši činnost, včetně chyb, které uděláte a opravíte. Například pokud stisknete klávesy Ctrl + Z, abyste něco vrátili zpět, bude to také zaznamenáno. Nakonec se může stát, že budete mít spoustu zbytečného kódu. Chcete-li tomu zabránit, buď kód upravte v editoru VB, nebo zastavte nahrávání, odstraňte vadné makro a začněte nahrávat znovu.

    Zálohování nebo uložení sešitu před spuštěním makra

    Výsledek makra Excelu nelze vrátit zpět. Před prvním spuštěním makra má tedy smysl vytvořit kopii sešitu nebo alespoň uložit aktuální práci, abyste předešli neočekávaným změnám. Pokud makro provede něco špatně, jednoduše sešit zavřete bez uložení.

    Udržujte zaznamenaná makra krátká

    Při automatizaci posloupnosti různých úloh můžete být v pokušení zaznamenat je všechny do jednoho makra. Existují dva hlavní důvody, proč to nedělat. Zaprvé je těžké zaznamenat dlouhé makro plynule a bez chyb. Zadruhé se rozsáhlá makra obtížně chápou, testují a ladí. Proto je dobré rozdělit rozsáhlé makro na několik částí. Například při vytváření souhrnné tabulky.z více zdrojů, můžete jedno makro použít k importu informací, druhé ke konsolidaci dat a třetí k formátování tabulky.

    Doufám, že vám tento návod přinesl nějaké informace o tom, jak zaznamenat makro v Excelu. Každopádně vám děkuji za přečtení a doufám, že se příští týden uvidíme na našem blogu!

    Michael Brown je oddaný technologický nadšenec s vášní pro zjednodušování složitých procesů pomocí softwarových nástrojů. S více než desetiletými zkušenostmi v technologickém průmyslu zdokonalil své dovednosti v aplikacích Microsoft Excel a Outlook a také v Tabulkách a Dokumentech Google. Michaelův blog je věnován sdílení jeho znalostí a odborných znalostí s ostatními a poskytuje snadno pochopitelné tipy a návody pro zlepšení produktivity a efektivity. Ať už jste zkušený profesionál nebo začátečník, Michaelův blog nabízí cenné postřehy a praktické rady, jak tyto základní softwarové nástroje co nejlépe využít.