Ko beleži vaša dejanja, Excel običajno beleži absolutne reference na celice. (To je privzeti način snemanja.) Toda pogosto je to napačen način snemanja. Če uporabljate absolutni način snemanja, Excel zabeleži dejanske reference celic. Če uporabljate relativno snemanje, Excel zabeleži relativne reference na celice. Nadaljujte z branjem, da vidite razliko.
Snemanje v absolutnem načinu
Sledite tem korakom, da posnamete preprost makro v absolutnem načinu. Ta makro preprosto vnese imena treh mesecev v delovni list:
Prepričajte se, da gumb Razvijalec → Koda → Uporabi relativne reference ni označen in nato izberite Razvijalec → Koda → Zapiši makro.
Vnesite Absolute kot ime za ta makro.
Kliknite V redu za začetek snemanja.
Aktivirajte celico B1 in v to celico vnesite Jan.
Premaknite se v celico C1 in vnesite Feb.
Premaknite se v celico D1 in vnesite Mar.
Kliknite celico B1, da jo znova aktivirate.
Ustavite snemalnik makrov.
Pritisnite Alt+F11, da aktivirate VBE.
Preglejte modul Module1.
Excel ustvari naslednjo kodo:
Sub Absolute()
'
' Absolutni makro
'
Obseg(“B1”).Izberite
ActiveCell.FormulaR1C1 = “Jan”
Obseg(»C1«).Izberi
ActiveCell.FormulaR1C1 = “februar”
Obseg(»D1«).Izberi
ActiveCell.FormulaR1C1 = "Mar"
Obseg(“B1”).Izberite
Končni sub
Ko se izvede, ta makro izbere celico B1 in vstavi imena treh mesecev v obseg B1:D1. Nato makro ponovno aktivira celico B1.
Ta ista dejanja se zgodijo ne glede na to, katera celica je aktivna, ko izvedete makro. Makro, posnet z uporabo absolutnih referenc, vedno daje enake rezultate, ko se izvede. V tem primeru makro vedno vnese imena prvih treh mesecev v obsegu B1:D1 na aktivni delovni list.
Snemanje v relativnem načinu
V nekaterih primerih želite, da vaš posneti makro deluje z lokacijami celic na sorazmeren način. Morda boste želeli, da makro začne vnašati imena mesecev v aktivno celico. V takem primeru morate uporabiti relativno snemanje.
Način, na katerega Excel beleži vaša dejanja, lahko spremenite tako, da kliknete gumb Uporabi relativne reference v skupini Koda na zavihku Razvijalec. Ta gumb je preklopni gumb. Ko je gumb označen z drugo barvo, je način snemanja sorazmeren. Ko se gumb prikaže normalno, snemate v absolutnem načinu.
Način snemanja lahko kadar koli spremenite, tudi na sredini snemanja.
Če želite videti, kako deluje snemanje v relativnem načinu, izbrišite vsebino obsega B1:D1 in nato izvedite naslednje korake:
Aktivirajte celico B1.
Izberite Razvijalec → Koda → Zapis makra.
Poimenujte ta makro Relative.
Kliknite V redu za začetek snemanja.
Kliknite gumb Uporabi relativne reference, da spremenite način snemanja v relativni.
Ko kliknete ta gumb, se spremeni v drugo barvo kot preostali del traku.
V celico B1 vnesite Jan.
Premaknite se v celico C1 in vnesite Feb.
Premaknite se v celico D1 in vnesite Mar.
Izberite celico B1.
Ustavite snemalnik makrov.
Upoštevajte, da se ta postopek nekoliko razlikuje od prejšnjega primera. V tem primeru aktivirate začetno celico, preden začnete snemati. To je pomemben korak, ko snemate makre, ki uporabljajo aktivno celico kot osnovo.
Ta makro vedno začne vnašati besedilo v aktivno celico. Poskusi. Premaknite kazalec na celico na katero koli celico in nato izvedite Relativni makro. Imena mesecev se vedno vnesejo z začetkom v aktivni celici.
Ko je način snemanja nastavljen na relativni, se koda, ki jo ustvari Excel, precej razlikuje od kode, ustvarjene v absolutnem načinu:
Podrelativni ()
'
'Relativni makro
'
ActiveCell.FormulaR1C1 = “Jan”
ActiveCell.Offset(0, 1).Range(“A1”).Izberi
ActiveCell.FormulaR1C1 = “februar”
ActiveCell.Offset(0, 1).Range(“A1”).Izberi
ActiveCell.FormulaR1C1 = "Mar"
ActiveCell.Offset(0, -2).Range(“A1”).Izberi
Končni sub
Če želite preizkusiti ta makro, aktivirajte katero koli celico razen B1. Imena mesecev se vnesejo v tri celice, ki se začnejo s celico, ki ste jo aktivirali.
Upoštevajte, da se koda, ki jo ustvari snemalnik makrov, nanaša na celico A1. To se morda zdi čudno, ker med snemanjem makra nikoli niste uporabili celice A1. To je preprosto stranski produkt delovanja snemalnika makrov.