dnes je 26.12.2024

Input:

Excel 2013: Editace jednoduchého makra v modulu VBA

21.12.2016, , Zdroj: Verlag Dashöfer

Pokud jste si zaznamenali makro a ono nepracuje podle vašeho očekávání, lze ho smazat a vytvořit nové. Nebo ho můžete zkusit opravit. Tato oprava však probíhá v jazyce Visual Basic for Applications. To znamená, že je potřeba znát alespoň jeho základní příkazy. Některé informace najdete v nápovědě, na jiné lze přijít metodou experimentu.

Zkuste si tedy něco zaznamenat (příklad Excel2013_EditaceMaker.xlsm) a následně si prohlédnout zaznamenaný kód ve Visual Basicu.

Jestliže tedy chcete udělat vlastní úpravu makra, klepněte na kartě VÝVOJÁŘ ve skupině Kód na ikonu Makra. Otevře se dialogové okno Makro se seznamem všech již vytvořených maker.

Zde vyberte makro, které potřebujete upravovat, a klepněte na tlačítko Upravit. Tím se dostanete do okna programovacího jazyka Visual Basic, ve kterém lze skutečně začít dělat jednotlivé úpravy.

Jinak v editoru jazyka Visual Basic lze makra nejenom upravovat, ale také kopírovat mezi jednotlivými moduly či různými sešity, přesouvat, přejmenovávat, mazat.

Všimněte si, že celé prostředí editoru jazyka Visual Basic je v angličtině. V jeho levé části můžete mít zobrazený panel Project, ve kterém uvidíte všechny sešity, listy i moduly, které jsou právě otevřené a se kterými tedy můžete pracovat. Pod ním může být ještě zobrazený panel Properties, ve kterém jsou vidět vlastnosti prvku, se kterým právě pracujete.

Jestliže jste v dialogovém okně makro správně označili a klepli na tlačítko Upravit, zobrazí se správně hned i okno se zaznamenaným makrem. Jedná se vlastně o editační okno, ve kterém opravdu zaznamenané makro lze upravovat.

Všimněte si, že každé makro začíná slovem Sub jméno() a končí End Sub. Jedná se o slova, podle kterých Visual Basic pozná, že jde o samostatný programový kód (proceduru). Mezi těmito dvěma řádky je již vlastní zaznamenaná část makra. Zelené řádky jsou uvozené apostrofem a znamenají v kódu jazyka Visual Basic, že se jedná pouze o komentář a ne vlastní příkaz, který by se měl provádět.

První řádek, který Excel provede, je Range("B3:B21").Select a znamená, že se mají označit buňky B3 až B21. Druhý řádek Selection.NumberFormat = "#,##0.0" již říká, že pro

Nahrávám...
Nahrávám...