Makra v Excelu nejsou ničím jiným než miniaturními programy, které vykonávají často se opakující operace, a tím vám šetří nejen spoustu času, ale i psaní na klávesnici. Programu MS Excel například trvá spočítání obsahu jednoho celého listu necelou jednu desetinu sekundy. To, co vás ve skutečnosti zpomaluje, jsou pouze a jedině ručně prováděné operace. A právě makra jsou tím správným prostředkem, který zautomatizuje ručně prováděné operace do jedné automatizované operace, která ve výsledku trvá prakticky jen zlomek času.
Ladění vámi vytvořených maker – pokračování
Na prvním řádku bude uvedeno: Sub „název makra“()
Výraz Sub představuje zkratku slova Subroutine, které programu MS Excel říká, že bude následovat kód makra. Výraz Sub označuje začátek makra a výraz End Sub pak označuje konec makra. Následuje název makra (my jsme jej nazvali xdebug()).
Sub xdebug()
Následující sekce obsahuje kód, který říká:
Vyber oblast C3. Pak do této aktivní oblasti (v tomto případě buňky) vlož vzorec =SUMA(RC[-1]*10%)
Další příkazy jsou podobné:
Vyber oblast D3. Pak do této aktivní oblasti (v tomto případě buňky) vlož vzorec =SUMA(RC[-2]*32%)
Vyber oblast E3. Pak do této aktivní oblasti (v tomto případě buňky) vlož vzorec =SUMA(RC[-3]:RC[-1])
Na dalších řádcích se vyskytuje kód, který říká:
Vyber oblast buněk C3 až E3 a zkopíruj jejich obsah.
Vyber oblast buněk C4 až E12 a vlož do nich zkopírovaný obsah.
Application.CutCopyMode = False [tento příkaz označuje vymazání obsahu schránky]
Kód pak pokračuje následujícími příkazy:
Vyber oblast (v tomto případě buňku) E4.
Stiskni klávesu End a pak se přesuň o řádek níže.
Vyber oblast (v tomto případě buňku) E13. Poté zadej do této aktivní oblasti (v tomto případě buňky) vzorec =SUMA(R[-10]C:R[-1]C).
Následující řádky obsahují příkazy pro zarovnání textu:
Vyber oblast (v tomto případě buňku) E13
With Selection (tuto buňku naformátuj následovně)
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
With Selection (format as follows)
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
End Sub