Při zaznamenávání vašich akcí Excel obvykle zaznamenává absolutní odkazy na buňky. (Toto je výchozí režim nahrávání.) Ale dost často se jedná o nesprávný režim nahrávání. Pokud používáte režim absolutního záznamu, Excel zaznamená skutečné odkazy na buňky. Pokud používáte relativní záznam, Excel zaznamená relativní odkazy na buňky. Pokračujte ve čtení, abyste viděli rozdíl.
Záznam v absolutním režimu
Chcete-li zaznamenat jednoduché makro v absolutním režimu, postupujte podle těchto kroků. Toto makro jednoduše zadá názvy tří měsíců do listu:
Ujistěte se, že tlačítko Vývojář → Kód → Použít relativní reference není zvýrazněno, a poté vyberte Vývojář → Kód → Zaznamenat makro.
Jako název tohoto makra zadejte Absolute.
Klepnutím na tlačítko OK zahájíte nahrávání.
Aktivujte buňku B1 a zadejte do této buňky Jan.
Přejděte do buňky C1 a zadejte Feb.
Přesuňte se do buňky D1 a zadejte Mar.
Klepnutím na buňku B1 ji znovu aktivujte.
Zastavte záznam maker.
Stisknutím Alt+F11 aktivujte VBE.
Prozkoumejte modul Module1.
Excel vygeneruje následující kód:
Sub Absolute()
'
Absolutní makro
'
Rozsah („B1“). Vyberte
ActiveCell.FormulaR1C1 = “Leden”
Rozsah („C1“). Vyberte
ActiveCell.FormulaR1C1 = “Únor”
Rozsah („D1“). Vyberte
ActiveCell.FormulaR1C1 = “Mar”
Rozsah („B1“). Vyberte
End Sub
Po spuštění toto makro vybere buňku B1 a vloží názvy tří měsíců do oblasti B1:D1. Poté makro znovu aktivuje buňku B1.
Ke stejným akcím dochází bez ohledu na to, která buňka je při spuštění makra aktivní. Makro zaznamenané pomocí absolutních odkazů vždy vytváří stejné výsledky, když je spuštěno. V tomto případě makro vždy zadává názvy prvních tří měsíců v rozsahu B1:D1 na aktivním listu.
Záznam v relativním režimu
V některých případech chcete, aby nahrané makro pracovalo s umístěním buněk relativním způsobem. Můžete chtít, aby makro začalo zadávat názvy měsíců do aktivní buňky. V takovém případě musíte použít relativní záznam.
Způsob, jakým Excel zaznamenává vaše akce, můžete změnit kliknutím na tlačítko Použít relativní odkazy ve skupině Kód na kartě Vývojář. Toto tlačítko je přepínací. Když se tlačítko objeví zvýrazněné jinou barvou, režim záznamu je relativní. Když se tlačítko objeví normálně, nahráváte v absolutním režimu.
Metodu nahrávání můžete kdykoli změnit, dokonce i uprostřed nahrávání.
Chcete-li zjistit, jak funguje záznam v relativním režimu, odstraňte obsah rozsahu B1:D1 a poté proveďte následující kroky:
Aktivujte buňku B1.
Vyberte Vývojář → Kód → Zaznamenat makro.
Pojmenujte toto makro jako relativní.
Klepnutím na tlačítko OK zahájíte nahrávání.
Klepnutím na tlačítko Použít relativní odkazy změňte režim záznamu na relativní.
Když klepnete na toto tlačítko, změní se na jinou barvu než zbytek pásu karet.
Do buňky B1 zadejte Jan.
Přejděte do buňky C1 a zadejte Feb.
Přesuňte se do buňky D1 a zadejte Mar.
Vyberte buňku B1.
Zastavte záznam maker.
Všimněte si, že tento postup se mírně liší od předchozího příkladu. V tomto příkladu aktivujete počáteční buňku před zahájením nahrávání. Toto je důležitý krok, když zaznamenáváte makra, která používají aktivní buňku jako základ.
Toto makro vždy začíná zadávat text do aktivní buňky. Zkus to. Přesuňte ukazatel buňky na libovolnou buňku a potom spusťte relativní makro. Názvy měsíců se zadávají vždy od aktivní buňky.
S režimem záznamu nastaveným na relativní je kód, který Excel generuje, zcela odlišný od kódu generovaného v absolutním režimu:
Dílčí příbuzný()
'
'Relativní makro
'
ActiveCell.FormulaR1C1 = “Leden”
ActiveCell.Offset(0, 1).Range(“A1”).Vybrat
ActiveCell.FormulaR1C1 = “Únor”
ActiveCell.Offset(0, 1).Range(“A1”).Vybrat
ActiveCell.FormulaR1C1 = “Mar”
ActiveCell.Offset(0, -2).Range(“A1”).Vybrat
End Sub
Chcete-li toto makro otestovat, aktivujte libovolnou buňku kromě B1. Názvy měsíců se zadávají do tří buněk, počínaje buňkou, kterou jste aktivovali.
Všimněte si, že kód generovaný záznamníkem maker odkazuje na buňku A1. To se může zdát divné, protože jste nikdy nepoužili buňku A1 během záznamu makra. To je prostě vedlejší produkt způsobu, jakým makrorekordér funguje.