Na čo sú dobré makrá v Exceli??

Na veľmi jednoduchom príklade ukážem použitie makra v programe Excel..

Písmo: A- | A+
Diskusia  (18)

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):

Obrázok blogu

 
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ú.

SkryťVypnúť reklamu
SkryťVypnúť reklamu
SkryťVypnúť reklamu
Článok pokračuje pod video reklamou
SkryťVypnúť reklamu
Článok pokračuje pod video reklamou

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:

Obrázok blogu


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

Obrázok blogu

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

Obrázok blogu

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":

Obrázok blogu

5) Vložíme tento kód použitím (CTRL-C ->CTrl-V, kód vysvetlím neskôr):

SkryťVypnúť reklamu


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:

Obrázok blogu

6) Spustíme makro:

Obrázok blogu

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

Obrázok blogu

=============================================================================


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

SkryťVypnúť reklamu


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.

SkryťVypnúť reklamu

--------------------------------------------------------------------------------------------------------

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)

Lubo Kužela

Lubo Kužela

Bloger 
  • Počet článkov:  36
  •  | 
  • Páči sa:  1x

Moja stránka: lenacor.comV prípade záujmu pomôzem s Excelom.. Ak by ste mali zaujem o skolenie, alebo individuálne konzultácie kontaktujte ma prosím na lubomir.kuzela@gmail.com, predmet "Excel".makrá, kontingenčné tabuľky, grafy, reporty, import údajov, databázy, výpočty, prehľadávanie a analýza dát.. Pracujem ako projektový manažér v priemysle. Zaujímam sa o technológie a ekonómiu. Zoznam autorových rubrík:  InformatikaŠkolstvoEkonomikaPostrehyVedaSúkromnéNezaradenéDenník ítečkára :))

Prémioví blogeri

Roman Kebísek

Roman Kebísek

105 článkov
Post Bellum SK

Post Bellum SK

91 článkov
Jiří Ščobák

Jiří Ščobák

766 článkov
Iveta Rall

Iveta Rall

91 článkov
INESS

INESS

108 článkov
Adam Valček

Adam Valček

14 článkov
reklama
reklama
SkryťZatvoriť reklamu