zpět

Hlavní stránka

Poslední aktualizace: 15.04.2006

VBA - Makra

Záznam makra    Spustit makro   Editace makra

Opět se vracíme k Panelu Visual Basic, který je v Excelu. Já ho mám neustále zobrazený nahoře na liště, vedle "standartních" panelů. Pokud tento nástroj nemáte zobrazený, pro zobrazení použijte v menu v Excelu příkaz:
Zobrazit / Panel nástrojů / Visual basic

Najeďte myší na symbol,
zobrazí se nápověda.

Co je to makro? Makro je událost kterou někdo zaznamenal, nebo napsal, a nachází se ve Visual Basiku většinou v modulu. Slouží k tomu, aby nám usnadnilo práci, a  zautomatizovalo nějakou akci,
kterou děláme. Například seřadilo hodnoty v Excelu podle velikosti, a pak vytisklo stránku.

Modrá šipka na panelu Visual Basic slouží ke spouštění maker, modrý kruh pak k záznamu nových maker.

Makro začíná zápisem:

 Sub nazev_makra ( )
kde název musí být bez mezery, nejlépe bez českých znaků, 
a je třeba se vyvarovat klíčových slov VBA jako Delete, Select ...
ukončeno je zápisem:
End Sub

Záznam makra

Pokud je nám jasné, co chceme zaznamenat, jak makro chceme pojmenovat ... tak spustíme modrou šipkou záznam makra. Po spuštění makra se objeví okno, kde makro můžeme přejmenovat, přiřadit mu klávesovou zkratku (což není jednoduché, protože Excel má mnoho zkratek pro něco, a Vám se pak spouští všechno možné, jen ne Vaše makro), definovat jeho popis, a kam chcete makro uložit.
Po editaci (nebo bez) stisknete tlačítko "OK", a začíná záznam makra.

Po stisku tlačítka "OK" se objeví tlačítko které slouží k ukončení záznamu makra:     
Toho si zatím nebudete všímat a provedete nějakou akci - seřadíte hodnoty, provedete tisk listu, vyberete list, nebo buňku ... Nyní pomocí tlačítka "Zastavit záznam" zastavíte záznam makra.

 

Spustit makro

Pokud chcete dál pracovat s makrem, na panelu Visual Basic klepnete na ikonu "Spustit makro"
a objeví se takovéto okno:

Pokud máte v okně více maker, myší si vyberte to které Vás zajímá. Jestliže chcete vybrané makro spustit, použijte tlačítko "Spustit".

Poznámka:
Makro lze také spouštět umístněním příkazového tlačítka na list sešitu.

Krokovat s vnořením:
Pro testování makra krok za krokem (řádek po řádku) lze použít tento příkaz.
Spustí se makro, a v okně VBA se na levém okraji okna s kódem zobrazí žlutá šipka (zarážka),
kterou lze pomocí myši posouvat.
Ta slouží k tomu, aby se vykonala vždy jen určitá část makra.
Obdobou tomuto prvku je "Break point" - "Zarážka". Když ve svém kódu klepnete myší na levou šedou lištu vedle kódu, objeví se hnědé kolečko - Break point, které slouží jako zarážka. Když spustíte makro, tak makro proběhne až na toto místo, a pak se zastaví. Po spuštění makra jej lze krokovat .

Upravit makro
Tento příkaz Vás přepne do kódu VBA, na místo, kde je makro uložené, aby jste ho mohli studovat, popř. upravit. Pokud máte více zkušeností, tak přepnutím do VBA asi víte kde makro najdete.

Vytvořit makro
Pokud chcete napsat nové makro, tak do pole "Názem makra" napíšete nějaký název makra, a tlačítkem "Vytvořit" se přepnete do sekce ve VBA která je přímo pro toto makro.
Opět: Proč to nenapsat rovnou ve VBA, ale budiž.

Odstranit makro
Tento příkaz odstraní vybrané makro.

Možnosti
Pomocí této volby můžete editovat vlastnosti makra jako název, popis nebo klávesovou zkratku, která ho spouští.

 

Studium a editace makra

Makro, které jsme zaznamenali, je třeba ještě vyladit a vyčistit od zbytečných věcí.
Pokud pracujeme s listy sešitu, vždy je důležité dbát na to, aby bylo definováno:

Vyber list: Sheets("List1").Select

a popřípadě vyber nějakou buňku: Range("A1").Select

Protože pokud nebudeme korektně definovat, na jakém listu sešitu chceme pracovat, tak to může způsobit chaos.

Tady se opět vracíme k akcím o nichž jsem psal na stránce VBA - Deklarace v sekci Akce
kde jsme uváděli seznam několika z akcí, které lze provádět.