zpět na výpis    domů » excel » Tvorba vlastního makra v Excelu

Tvorba vlastního makra v Excelu

Publikováno: 28.10.2019

Tvorba vlastního makra v Excelu

Makro je skvělá věc, která usnadní pracovní život všem, kteří často pracují v Excelu. Po přečtení článku budete mít základní povědomí o makrech, budete schopni vytvářet vlastní makra a pro více zvídavé čtenáře jsem přidal ukázku úpravy makra v editoru maker.

Co je makro?

Makra slouží k automatizaci rutinních úkonů, které můžete nahrát pomocí Záznamíku makra, anebo si makro můžete napsat sami v jazyce Visual Basic for Applications (VBA). Smyslem makra je usnadnit práci a neztrácet čas neustálým vykonáváním stejných úkonů.

Makro je posloupnost zaznamených příkazů zapsaných v jazyce Visual Basic for Applications (VBA).

My si ukážeme jednodušší variantu tvorby makra. Nicméně složitější makra vez znalosti jazyka VBA nevytvoříte.

Tvorba makra

Tvorbu makra ukážeme na příkladu, ve kterém budeme evidovat příspěvky od dárců. Kdykoliv spustíme makro, načte se obsah z vybraných buněk a vloží se do zvoleného místa.

Příprava tabulky

Vytvořil jsem tabulku, kterou pomocí makra rozpohybuji. Do příslušných sloupců tabulky se budou načítat hodnoty ze žlutě označených buněk. Záznamy v tabulce nechám řadit sestupně podle data zaslaného příspěvku.

Tvorba makra v Excelu

Datum je nastaveno na aktuální datum pomocí funkce DNES(). Zeleným fontem je zvýrazněna buňka s funkcí SUMA(), která vrací součet všech příspěvků ve sloupci E. Rozsah funkce jsem nastavil na $E$12:$E$10000.

Nahrání makra

Na kartě Vývojář ve skupině Kód vyberte Záznamenávat makro. Otevře se okno, do kterého můžete zadat vlastní název makra, klávesovou zkratku pro rychlé spuštění makra, způsob uložení a popis makra.

Záznam makra v Excelu

Makru jsem nastavil název Příspěvky a zvolil klávesovou zkratku Ctrl + Shift + M. Makro bude používané pouze v sešitu s tabulkou, proto volím uložení makra pro Tento sešit. Stiskem tlačítka OK spustím nahrávání makra.

Záznam makra v Excelu

Nyní musíme provést všechny úkony, které má makro nahrát a bude dělat za nás:

  • hodnoty ze žlutých buněk překopíruji do tabulky dle příslušných názvů záhlaví jako hodnoty
  • nad řádek s vloženými hodnotami vložím nový prázdný řádek
  • v novém řádku zruším tučný font, který se kopíruje ze záhlaví a upravím zarovnání hodnot
  • buňce s příspěvky nastavím formát měna

Pro zkopírování všech žlutých buněk do řádku 13 doporučuji označit celý blok žlutých buněk a stisknout Ctrl + C. Přesuňte se pak do buňky C13, ve které pravým tlačítkem myši vyvoláte nabídku. Vyberte Vložit jinak, a dále zvolte vložit Hodnoty a zaškrtněte Transponovat.

Vložit jinak v Excelu

Posledním krokem je ukončení makra na kartě Vývojář tlačítkem Zastavit záznam. A máme hotovo.

Testování makra

Nyní přichází okamžik, kdy si můžete vytvořené makro vyzkoušet. Na kartě Vývojář stikněte tlačíko Makra, kde ze seznamu maker vyberete makro Příspěvky a klikněte na tlačítko Spustit.

Spuštění makra v Excelu

Jestliže jste postupovali správně, měly by se hodnoty ze žlutě označené oblasti překopírovat do tabulky a do řádku 13 by se měl vložit nový prázdný řádek.

Test makra v Excelu

Pro opakované použití makra doporučuji použít klávesovou zkratku nastavenou na začátku nebo formulářové tlačítko svázané s makrem.

Opakované spuštění makra v Excelu

Úprava makra

Kód vytvořeného makra si můžete prohlédnout a upravovat v Editoru VBA, který vyvoláte klávesovou kombinací Alt + F11 nebo na kartě Vývojář stiskem tlačítka Visual Basic.

Editor makra v Excelu

To znamená, že nemusíte nahrávat nové makro, ale můžete si již hotové makro upravit, tj. přepsat kód, dle aktuálních potřeb.

Rozhodnul jsem se, že buňky s příspěvky by mohly být barevně zvýrazněny. Otevřu si Editor VBA a vyhledám část kódu, která se týká buňky E13.

Kód makra v Editoru maker

První řádek kódu říká, že chceme vybrat buňku E13. Slovy jazyka VBA Range("E13").Select. Dále je pomocí konstrukce With ... End With odkázáno na výběr buňky (Selection), kterému je přiřazeno určité formátování. Vlastnosti HorizontalAlignment a VerticalAlignment definují zarovnání v buňce, NumberFormat definuje formát čísla. Ostatní řádky jsou pro nás v tuto chvíli nezajímavé.

Do původního kódu přidám řádek, který zajistí zabarvení pozadí buňky na světle žlutou barvu (36).

Upravený kód makra v Editoru maker

To je jeden ze způsobů, jak se učit jazyk VBA. Nahrajete si makro a podíváte se na kód. Se základní znalostí angličtiny nebo s pomocí Google Translator se můžete učit a rozšiřovat znalosti VBA.

Nyní můžeme spustit makro Příspěvky s novým nastavením a ověříme jeho funkčnost.

Upravený kód makra v Editoru maker

Líbil se vám článek? A chcete se vědět o každém dalším?

Sledujte:

Nahoru