Toimingute salvestamisel salvestab Excel tavaliselt absoluutsed viited lahtritele. (See on vaikesalvestusrežiim.) Kuid üsna sageli on see vale salvestusrežiim. Kui kasutate absoluutset salvestusrežiimi, salvestab Excel tegelikud lahtriviited. Kui kasutate suhtelist salvestamist, salvestab Excel suhtelised viited lahtritele. Jätkake lugemist, et näha erinevust.
Salvestamine absoluutses režiimis
Lihtsa makro absoluutrežiimis salvestamiseks järgige neid samme. See makro lihtsalt sisestab töölehel kolm kuud:
Veenduge, et nupp Arendaja → Kood → Kasuta suhtelisi viiteid pole esile tõstetud ja seejärel valige Arendaja → Kood → Salvesta makro.
Tippige selle makro nimeks Absoluut.
Salvestamise alustamiseks klõpsake nuppu OK.
Aktiveerige lahter B1 ja tippige sellesse lahtrisse Jan.
Liikuge lahtrisse C1 ja tippige veebr.
Liikuge lahtrisse D1 ja tippige Mar.
Selle uuesti aktiveerimiseks klõpsake lahtril B1.
Peatage makrosalvesti.
VBE aktiveerimiseks vajutage Alt+F11.
Uurige moodulit 1.
Excel genereerib järgmise koodi:
Subabsoluutne()
'
Absoluutne makro
'
Vahemik (“B1”). Valige
ActiveCell.FormulaR1C1 = "jaanuar"
Vahemik(“C1”). Valige
ActiveCell.FormulaR1C1 = "veebruar"
Vahemik (“D1”). Valige
ActiveCell.FormulaR1C1 = "Mar"
Vahemik (“B1”). Valige
Lõpeta alam
Käitamisel valib see makro lahtri B1 ja lisab kolme kuu nimed vahemikku B1:D1. Seejärel aktiveerib makro uuesti lahtri B1.
Need samad toimingud toimuvad sõltumata sellest, milline lahter on makro käivitamisel aktiivne. Absoluutsete viidete abil salvestatud makro annab täitmisel alati samad tulemused. Sel juhul sisestab makro aktiivsele töölehel alati vahemikku B1:D1 esimese kolme kuu nimed.
Salvestamine suhtelises režiimis
Mõnel juhul soovite, et teie salvestatud makro töötaks lahtrite asukohtadega suhtelisel viisil. Võib-olla soovite, et makro hakkaks aktiivsesse lahtrisse kuude nimesid sisestama. Sellisel juhul peate kasutama suhtelist salvestamist.
Saate muuta viisi, kuidas Excel teie toiminguid salvestab, klõpsates vahekaardi Arendaja jaotises Kood nuppu Kasuta suhtelisi viiteid. See nupp on lülitusnupp. Kui nupp on erinevat värvi esile tõstetud, on salvestusrežiim suhteline. Kui nupp kuvatakse normaalselt, salvestate absoluutrežiimis.
Saate salvestusmeetodit igal ajal muuta, isegi salvestamise ajal.
Suhtelise režiimi salvestamise toimimise nägemiseks kustutage vahemiku B1:D1 sisu ja tehke seejärel järgmised toimingud.
Aktiveerige lahter B1.
Valige Arendaja → Kood → Salvesta makro.
Nimetage see makro Suhteline.
Salvestamise alustamiseks klõpsake nuppu OK.
Salvestusrežiimi suhteliseks muutmiseks klõpsake nuppu Kasuta suhtelisi viiteid.
Kui klõpsate sellel nupul, muutub see ülejäänud lindist erinevaks värviks.
Tippige lahtrisse B1 Jan.
Liikuge lahtrisse C1 ja tippige veebr.
Liikuge lahtrisse D1 ja tippige Mar.
Valige lahter B1.
Peatage makrosalvesti.
Pange tähele, et see protseduur erineb veidi eelmisest näitest. Selles näites aktiveerite enne salvestamise alustamist alguslahtri. See on oluline samm aktiivset lahtrit alusena kasutavate makrode salvestamisel.
See makro alustab alati teksti sisestamist aktiivsesse lahtrisse. Proovi seda. Liigutage lahtrikursor mis tahes lahtrisse ja seejärel käivitage suhteline makro. Kuude nimed sisestatakse alati alustades aktiivsest lahtrist.
Kui salvestusrežiimiks on seatud suhteline, erineb Exceli genereeritav kood absoluutrežiimis genereeritud koodist:
Alamsugulane()
'
"Suhteline makro
'
ActiveCell.FormulaR1C1 = "jaanuar"
ActiveCell.Offset(0, 1).Range(“A1”).Valige
ActiveCell.FormulaR1C1 = "veebruar"
ActiveCell.Offset(0, 1).Range(“A1”).Valige
ActiveCell.FormulaR1C1 = "Mar"
ActiveCell.Offset(0, -2).Range(“A1”).Valige
Lõpeta alam
Selle makro testimiseks aktiveerige mis tahes lahter, välja arvatud B1. Kuude nimed sisestatakse kolme lahtrisse, alustades teie aktiveeritud lahtrist.
Pange tähele, et makrosalvesti genereeritud kood viitab lahtrile A1. See võib tunduda kummaline, kuna te ei kasutanud makro salvestamise ajal kunagi lahtrit A1. See on lihtsalt makrosalvesti töö kõrvalsaadus.