Relatívna referencie v Excel makro prostriedky vzhľadom k aktuálne aktívnej bunky. Pri výbere aktívnej bunky preto buďte opatrní – pri zaznamenávaní relatívneho referenčného makra aj pri jeho spustení.
Najprv otvorte Sample File.xlsx dostupný online . Potom pomocou nasledujúcich krokov zaznamenajte relatívne referenčné makro:
Na karte Vývojár vyberte možnosť Použiť relatívne odkazy.
Zaznamenávanie makra s relatívnymi referenciami.
Uistite sa, že je vybratá bunka A1.
Na karte Vývojár vyberte možnosť Zaznamenať makro.
Makro pomenujte AddTotalRelative.
Ako miesto uloženia vyberte Tento zošit.
Kliknutím na tlačidlo OK spustíte nahrávanie.
Vyberte bunku A16 a do bunky napíšte Celkom.
Vyberte prvú prázdnu bunku v stĺpci D (D16) a zadajte = COUNTA(D2:D15).
Na karte Vývojár kliknite na položku Zastaviť nahrávanie, čím zastavíte nahrávanie makra.
V tomto bode ste zaznamenali dve makrá. Nájdite si chvíľku na preskúmanie kódu pre vaše novovytvorené makro výberom položky Makrá na karte Vývojár, čím sa otvorí dialógové okno Makro. Vyberte makro AddTotalRelative a kliknite na Upraviť.
Opäť sa otvorí editor jazyka Visual Basic a ukáže vám kód, ktorý bol napísaný pri nahrávaní makra. Tentoraz váš kód vyzerá asi takto:
Sub AddTotalRelative()
ActiveCell.Offset(15, 0).Range("A1").Vybrať
ActiveCell.FormulaR1C1 = "Celkom"
ActiveCell.Offset(0, 3).Range("A1").Vybrať
ActiveCell.FormulaR1C1 = "=COUNTA(R[-14]C:R[-1]C)"
End Sub
Najprv si všimnite, že kód neobsahuje odkazy na konkrétne rozsahy buniek (iné ako počiatočný bod, A1). Všimnite si, že v tomto makre Excel používa vlastnosť Offset aktívnej bunky. Táto vlastnosť hovorí kurzoru, aby posunul určitý počet buniek nahor alebo nadol a určitý počet buniek doľava alebo doprava.
V tomto prípade kód vlastnosti Offset povie Excelu, aby sa presunul o 15 riadkov nadol a 0 stĺpcov oproti aktívnej bunke (A1). Keďže makro bolo zaznamenané pomocou relatívneho odkazu, Excel explicitne nevyberie konkrétnu bunku, ako to urobil pri zaznamenávaní makra absolútnej referencie.
Ak chcete vidieť toto makro v akcii, odstráňte riadok Celkom pre obe tabuľky a postupujte takto:
Vyberte bunku A1.
Na karte Vývojár vyberte možnosť Makrá.
Nájdite a vyberte makro AddTotalRelative.
Kliknite na tlačidlo Spustiť.
Vyberte bunku F1.
Na karte Vývojár vyberte možnosť Makrá.
Nájdite a vyberte makro AddTotalRelative.
Kliknite na tlačidlo Spustiť.
Upozorňujeme, že toto makro na rozdiel od vášho predchádzajúceho makra funguje s oboma skupinami údajov. Pretože makro aplikuje súčty relatívne k aktuálne aktívnej bunke, súčty sa aplikujú správne.
Aby toto makro fungovalo, musíte to jednoducho zabezpečiť
-
Pred spustením makra ste vybrali správnu počiatočnú bunku.
-
Blok údajov má rovnaký počet riadkov a stĺpcov ako údaje, na ktoré ste zaznamenali makro.