Predstavte si, že máte vytvoriť na každý týždeň v roku jednu tabuľku. Každá tabuľka bude na novom hárku. Každý hárok bude obsahovať vo svojom názve týždeň, pre ktorý obsahuje údaje. Celkovo budeme mať teda 52 hárkov. Výsledok by mohol vyzerať takto (hotový príklad si môžete stiahnuť tu):

Isto uznáte, že robiť to ručne je dosť náročné. Musíme 52 krát vytvoriť nový hárok a potom ho premenovať.
Na takéto operácie slúžia makrá. Sú to programy, ktoré automaticky vykonávajú rôzne činnosti v Exceli. Napríklad také, ktoré sa často opakujú.
Teraz ukážem zopár krokov, ako vytvoriť makro na uvedenú úlohu. Vytvorenie 52 hárkov a ich pomenovanie podľa týždňa vám zaberie maximálne 5 minút (vytvorenie 52 hárkov ručne som neskúšal). Príklad je vytvorený v programe Microsoft Office Excel 2007:
Vytvoríme si nový súbor Excel s názvom "Makra"
1) Klikneme na lištu vývojár:

2) Klikneme na tlačidlo "Makrá":

3) Vytvoríme makro: nazveme ho "Harky" a stlačíme tlačidlo "Vytvoriť"

4) Po stlačení tlačidla "Vytvoriť" sa automaticky otvorí okno na písanie kódu. Zatial sa zobrazuje iba prázdna procedúra makra "Harky":

5) Vložíme tento kód použitím (CTRL-C ->CTrl-V, kód vysvetlím neskôr):
Dim i As Integer
For i = 1 To 52
Worksheets.Add After:=Worksheets(Worksheets.Count)
Worksheets(Worksheets.Count).Name = "tyzden" & i
Next i
Kód bude potom vyzerať takto:

6) Spustíme makro:

7) Ak Excel nezobrazí chybu, po návrate do Excelu vidíme výsledok:

=============================================================================
Cieľom tohto článku je ukázať, na čo môže byť dobré makro v Exceli, pre tých, čo sa s tým ešte nestretli. Takže tu by článok končil.
Pre doplňenie však vysvetlím aj uvedený kód. Ďaľšia časť bude preto trochu komplikovanejšia.
Vysvetlenie kódu
Dim i As Integer - deklarácia premennej. Premennú používame na zapamätanie si nejakej hodnoty. V tomto prípade je to celé číslo, teda deklarujeme premennú s menom i, typu integer (cele číslo)
For i = 1 To 52 - pre každý krok (hodnotu premenej i od 1 do 52) vykoná príkazy medzi týmto riadkom a príkazom Next
Worksheets.Add After:=Worksheets(Worksheets.Count) - príkaz Worksheet.Add pridá zošit. After znamená, že bude zošit pridaný za zošit definovaný za znakom ":=". Príkaz Worksheet.Count vracia počet existujúcich hárkov, a je použitý ako poradové číslo (index) hárku, ktorý sa má premenovať. Príkaz Worksheets(Worksheets.Count) nám teda vyberie posledný pridaný hárok (sheet).
Worksheets(Worksheets.Count).Name = "tyzden" & i - príkaz Worksheets(Worksheets.Count).Name nám definuje meno posledného hárku. Ako meno priradíme text "tyzden" ku ktorému operátorom & pridáme číslo týždňa uloženého v premennej i
Next i - zvyšuje krok cyklu For, to znamená, že zvýši hodnotu premennej i o jedna a vráti program späť na príkaz For.
--------------------------------------------------------------------------------------------------------
Viac napríklad tu.
Na vytvorenie príkladu bol použitý Microsoft Office Excel 2007 - slovenská verzia
Hotový príklad si môžete stiahnuť tu.
Obrázok v perexe: Felipe Arte (Flickr)