Įrašydama jūsų veiksmus, „Excel“ paprastai įrašo absoliučias nuorodas į langelius. (Tai numatytasis įrašymo režimas.) Tačiau gana dažnai tai būna netinkamas įrašymo režimas. Jei naudojate absoliutaus įrašymo režimą, „Excel“ įrašo faktines langelių nuorodas. Jei naudojate santykinį įrašymą, „Excel“ įrašo santykines nuorodas į langelius. Skaitykite toliau, kad pamatytumėte skirtumą.
Įrašymas absoliučiu režimu
Atlikite šiuos veiksmus, kad įrašytumėte paprastą makrokomandą absoliučiu režimu. Ši makrokomanda tiesiog įveda trijų mėnesių pavadinimus darbalapyje:
Įsitikinkite, kad mygtukas Kūrėjas → Kodas → Naudoti santykines nuorodas nėra paryškintas, tada pasirinkite Kūrėjas → Kodas → Įrašyti makrokomandą.
Kaip šios makrokomandos pavadinimą įveskite Absolute.
Spustelėkite Gerai, kad pradėtumėte įrašymą.
Suaktyvinkite langelį B1 ir įveskite Jan.
Perkelkite į langelį C1 ir įveskite Feb.
Perkelkite į langelį D1 ir įveskite Mar.
Spustelėkite langelį B1, kad jį vėl suaktyvintumėte.
Sustabdykite makrokomandų įrašymo įrenginį.
Paspauskite Alt + F11, kad suaktyvintumėte VBE.
Išnagrinėkite 1 modulio modulį.
„Excel“ sugeneruoja šį kodą:
Subabsoliutus ()
'
Absoliutus makro
'
Diapazonas („B1“). Pasirinkite
ActiveCell.FormulaR1C1 = „sausis“
Diapazonas („C1“). Pasirinkite
ActiveCell.FormulaR1C1 = "vasaris"
Diapazonas („D1“). Pasirinkite
ActiveCell.FormulaR1C1 = "Mar"
Diapazonas („B1“). Pasirinkite
Pabaigos sub
Vykdant šią makrokomandą pasirenkamas langelis B1 ir įterpiami trijų mėnesių pavadinimai į diapazoną B1:D1. Tada makrokomandas vėl suaktyvina langelį B1.
Tie patys veiksmai atliekami neatsižvelgiant į tai, kuris langelis yra aktyvus, kai vykdote makrokomandą. Makrokomandos, įrašytos naudojant absoliučias nuorodas, visada duoda tuos pačius rezultatus, kai ji vykdoma. Tokiu atveju makrokomanda aktyvaus darbalapio diapazone B1:D1 visada įveda pirmųjų trijų mėnesių pavadinimus.
Įrašymas santykiniu režimu
Kai kuriais atvejais norite, kad įrašyta makrokomanda veiktų su ląstelių vietomis santykiniu būdu. Galbūt norėsite, kad makrokomanda pradėtų įvesti mėnesių pavadinimus į aktyvų langelį. Tokiu atveju turite naudoti santykinį įrašymą.
Galite pakeisti būdą, kuriuo „Excel“ įrašo jūsų veiksmus, spustelėdami mygtuką Naudoti santykines nuorodas skirtuko „Kūrėjas“ grupėje Kodas. Šis mygtukas yra perjungimo mygtukas. Kai mygtukas rodomas paryškintas kita spalva, įrašymo režimas yra santykinis. Kai mygtukas rodomas įprastai, įrašinėjate absoliučiu režimu.
Įrašymo metodą galite pakeisti bet kuriuo metu, net ir įrašymo viduryje.
Norėdami pamatyti, kaip veikia santykinio režimo įrašymas, ištrinkite diapazono B1:D1 turinį ir atlikite šiuos veiksmus:
Suaktyvinkite langelį B1.
Pasirinkite Kūrėjas → Kodas → Įrašyti makrokomandą.
Pavadinkite šią makrokomandą Santykine.
Spustelėkite Gerai, kad pradėtumėte įrašymą.
Spustelėkite mygtuką Naudoti santykines nuorodas, kad pakeistumėte įrašymo režimą į santykinį.
Spustelėjus šį mygtuką, jis pasikeičia į kitą spalvą nei likusi juostelė.
Įveskite Jan langelyje B1.
Perkelkite į langelį C1 ir įveskite Feb.
Perkelkite į langelį D1 ir įveskite Mar.
Pasirinkite langelį B1.
Sustabdykite makrokomandų įrašymo įrenginį.
Atkreipkite dėmesį, kad ši procedūra šiek tiek skiriasi nuo ankstesnio pavyzdžio. Šiame pavyzdyje prieš pradėdami įrašymą aktyvuojate pradžios langelį . Tai svarbus veiksmas, kai įrašote makrokomandas, kurios kaip pagrindą naudoja aktyvų langelį.
Ši makrokomanda visada pradeda įvesti tekstą į aktyvų langelį. Pabandyk tai. Perkelkite langelio žymeklį į bet kurį langelį ir paleiskite santykinę makrokomandą. Mėnesių pavadinimai visada įvedami pradedant nuo aktyvaus langelio.
Nustačius santykinį įrašymo režimą, „Excel“ generuojamas kodas gerokai skiriasi nuo kodo, sugeneruoto absoliučiu režimu:
Antrinis giminaitis ()
'
„Santykinė makro
'
ActiveCell.FormulaR1C1 = „sausis“
ActiveCell.Offset(0, 1).Range(“A1”).Pasirinkite
ActiveCell.FormulaR1C1 = "vasaris"
ActiveCell.Offset(0, 1).Range(“A1”).Pasirinkite
ActiveCell.FormulaR1C1 = "Mar"
ActiveCell.Offset(0, -2).Range(“A1”).Pasirinkite
Pabaigos sub
Norėdami išbandyti šią makrokomandą, suaktyvinkite bet kurį langelį, išskyrus B1. Mėnesių pavadinimai įvedami į tris langelius, pradedant nuo langelio, kurį suaktyvinote.
Atkreipkite dėmesį, kad makrokomandos įrašymo įrenginio sugeneruotas kodas nurodo langelį A1. Tai gali atrodyti keista, nes įrašydami makrokomandą niekada nenaudojote langelio A1. Tai tiesiog šalutinis makrokomandos įrašymo įrenginio veikimo produktas.