Zdroj: https://wall.cz/excel-navod/vytvorte-si-vlastni-makro-v-excelu • Vydáno: 28.12.2007 14:00 • Autor: admin
Makro je programovací jazyk "Microsoft Visual Basic", který je součástí MS Excel. Makro je silný pomocník. Vhodně naprogramované makro tak může zásadně rozšířit funkcionalitu Excelu, urychlit a zefektivnit vaší práci.
Předpokladem k vytvoření vlastního makra jsou základní programovací znalosti. Makro lze vytvořit dvěma způsoby.
Vytvořené nebo nahrané makro lze následně spustit/přehrát přes menu Nástroje/Makro/Spustit makro. Zobrazí se okno, ve kterém vyberete makro a stisknete tlačítko "Spustit".
Vyzkoušíme si napsat vlastní makro. Cílem makra bude zobrazení hlášení, které bude obsaženo v nějaké buňce ve sloupci "A". To znamená, že makro bude tuto buňku hledat ve sloupci "A". Otevřte si nový sešit Excelu. Do buňky "A3" napište text "Gratuluji k vašemu prvnímu makru". Otevřte editor makra Alt + F11. Makro budeme zapisovat do modulu a proto musíme otevřít nový modul v editoru přes menu Insert/Module. V pravé části editoru se zobrazí pole modulu pro vložení kódu. Do tohoto pole vložte níže uvedený kód. Pro vaší kontrolu se můžete podívat zde.
Jedná se o jednoduchý kód a vysvětlím jednotlivé řádky makra.
Sub Zprava()
= začátek ohraničení oblasti makra. "Zprava" je název makra. Název si můžete dát jaký chcete, ale bez mezer a diakritiky. Konec makra se označuje End sub
.Do
= začátek cyklu. Konec cyklu je označen Loop
. Kód v této oblasti se bude provádět pořád dokola, dokud není splněna nějaká podmínka.Range("A1").Select
= příkaz - vyber oblast A1.ActiveCell.Offset(1, 0).Select
= příkaz, který zajistí přesun o jednu buňku dolů. Přesun je řízen hodnotami v závorce, kde první je řádek, druhá je sloupec a vlastní číslo definuje o kolik buněk se chceme přesunout.If ActiveCell <> "" Then
= podmínka IF (když) aktuální buňka není prázdná, tak proveď následující řádky. Tím máme zajištěno, že zastavíme cyklus, když makro najde buňku s naší zprávou.MsgBox ActiveCell.Formula
= příkaz k zobrazení zprávy v aktuální buňce.End
= konec makra. Podmínka byla splněna. Buňka se zprávou byla nalezena, zpráva zobrazena. Makro ukončíme, jinak by se nám zacyklylo.End If
= konec podmínky. Pokud podmínka není splněna, tak makro zpracuje následující příkazy.Loop
= konec ohraničení cyklu.End sub
= konec oblasti makra.Makro spustíme v menu Nástroje/Makro/Spustit makro. Vyberte makro s názvem "Zprava" a stiskněte tlačítko "Spustit". Pokud se chcete podívat jak je makro zpracováváno po krocích, tak v editoru opakovaně stiskněte klávesu F8 = krokování. Je však nutné mít okno sešitu maximalizováno a okno editoru ve vlastní (menší) velikosti. Toto krokování se provádí zejména při "ladění" nového makra.
Pokud vás tento článek zaujal a chtěli by jste do maker více proniknout, tak si zkoušejte vaší práci v excelu nahrát do makra. Následně si pak nahrané kódy prostudujte v editoru maker. Doporučuji knihu "Microsoft Excel 2000 a 2002 Programování ve VBA".