dnes je 27.7.2024

Input:

Relativně a absolutně odkazované makro

1.6.2007, , Zdroj: Verlag Dashöfer

Relativně a absolutně odkazované makro

Standardní záznam každého makra je vždy absolutní. Znamená to, že si Excel při záznamu pamatuje absolutní adresy buněk, řádků a sloupců – tedy konkrétní hodnoty (např. A10, B, $12, $C$2:$E$10 apod.) Kteroukoli buňku tedy označíme (kamkoliv umístíme kurzor), její adresa je zachycena v záznamu.

Jestliže ovšem potřebujeme posunout kurzor v makru o určitý počet buněk, nelze ponechat stávající absolutní způsob zápisu odkazů. Musíme se přepnout do režimu relativního odkazování. V případě přímého zápisu potom zapisujeme do kódu tato makra rovnou – s příslušnými změnami ve stylu zápisu.

Ukázka a vytvoření jednoduchých relativních maker

Pro procvičování příkladů této části si otevřete soubor mk06_a.xls, pro vytváření uvedených maker si otevřete vždy nový soubor.

Uvedené ukázky jsou zde uváděny pro inspiraci a jako základ pro doplnění do složitějších maker, kde se bez relativních maker neobejdeme.

Přesun buňky o dva řádky dolů a sloupec doprava

Otevřeme si soubor mk06_a.xls, postavíme se kurzorem do buňky C2 a spustíme makro relativni1. Kurzor se nám přesune do buňky D4.

Postup tvorby makra v záznamu:

  1. Pomocí příkazu Nástroje/Makro/Záznam nového makra spustíme záznam (makro nazveme „relativni1“).

  2. Pomocí ikony na panelu „Zastavit záznam“ se přepneme se do relativních odkazů.

  3. Nyní provedeme přesun buněk: kurzorovými šipkami přesuneme označenou buňku o jedno d oprava a o dva dolů – tedy do buňky F3.

  4. Vypneme relativní odkazy, ukončíme záznam a makro vyzkoušíme.

Když se podíváme do editoru VBA, vidíme jasně formu zápisu pro relativní posuny buněk:

ActiveCell.Offset(2, 1)

Výsledný zápis je potom:

Sub relativni1()

ActiveCell.Offset(2, 1). Range("A1"). Select

End Sub

Zápis textu ABCD do buňky o řádek níž a tři sloupce doprava

Otevřeme si soubor mk06_a.xls, postavíme se kurzorem do buňky C2 a spustíme makro relativni2. Do buňky F3 se zapíše text ABCD a kurzor se vrátí zpět do buňky C2.

Postup tvorby makra v záznamu:

  1. Pomocí příkazu Nástroje/Makro/Záznam nového makra spustíme záznam (makro nazveme „relativni2“).

  2. Pomocí ikony na panelu „Zastavit záznam“ se přepneme do relativních odkazů a zaznamenáme:

    • kurzorovými šipkami přesuneme označenou buňku o tři d oprava a o jeden dolů – tedy do buňky D4;

    • z klávesnice zapíšeme text ABCD a potvrdíme klávesou ENTER;

    • opět se přesuneme kurzorovými šipkami o dva nahoru a o tři doleva.

  3. Vypneme relativní odkazy, ukončíme záznam a makro vyzkoušíme.

Když se podíváme do editoru VBA, vidíme opět jasnou formu zápisu pro relativní posuny buněk.

Výsledný zápis je potom:

Sub

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