Екцелов подразумевани режим снимања је апсолутна референца. Када је референца ћелије у формули апсолутна референца , она се не прилагођава аутоматски када се формула налепи на нову локацију.
Најбољи начин да разумете како се овај концепт примењује на макрое је да га испробате. Снимите макро који броји редове на радном листу. (Погледајте слику за пример.)
Ваш предзбирни радни лист који садржи две табеле.
Пример скупа података који се користи овде можете пронаћи на мрежи .
Пратите ове кораке да бисте снимили макро:
Уверите се да је изабрана ћелија А1.
На картици Девелопер изаберите Рецорд Мацро.
Именујте макро АддТотал.
Изаберите ову радну свеску за локацију за чување.
Кликните на ОК да започнете снимање.
У овом тренутку, Екцел бележи ваше радње.
Док Екцел снима, изаберите ћелију А16 и унесите Укупно у ћелију.
Изаберите прву празну ћелију у колони Д (Д16) и откуцајте = ЦОУНТА(Д2:Д15).
Ова формула даје број грана на дну колоне Д. Функцију ЦОУНТА користите јер се бројеви грана чувају као текст.
Кликните на Заустави снимање на картици Девелопер да бисте зауставили снимање макроа.
Ваш радни лист са укупним подацима.
Форматирани радни лист би требало да изгледа нешто попут оног приказаног овде.
Да бисте видели свој макро у акцији, избришите ред Тотал који сте управо додали и репродукујте свој макро пратећи ове кораке:
На картици Програмер изаберите Макрои.
Пронађите и изаберите АддТотал макро који сте управо снимили.
Кликните на дугме Покрени.
Ако све прође како треба, макро репродукује ваше акције на Т и даје вашој табели укупни износ. Ево у чему је ствар. Без обзира колико се трудили, не можете учинити да макро АддТотал ради на другој табели. Зашто? Зато што сте то снимили као апсолутни макро.
Да бисте разумели шта ово значи, испитајте основни код тако што ћете изабрати Макрои на картици Програмер. Појављује се дијалог Макро.
Оквир за дијалог Екцел Мацро.
Изаберите макро АддТотал и кликните на дугме Уреди. Висуал Басиц Едитор се отвара и приказује код који је написан када сте снимили свој макро:
Суб АддТотал()
Опсег("А16").Изаберите
АцтивеЦелл.ФормулаР1Ц1 = "Укупно"
Опсег("Д16").Изаберите
АцтивеЦелл.ФормулаР1Ц1 = "=ЦОУНТА(Р[-14]Ц:Р[-1]Ц)"
Енд Суб
Обратите посебну пажњу на две линије кода које бирају опсег А16 и опсег Д16. Пошто је макро снимљен у режиму апсолутне референце, Екцел је протумачио ваш избор опсега као апсолутне референце ћелије. Другим речима, без обзира где се налази ваш курсор у радној свесци, када покренете снимљени макро, Екцел ће изабрати ћелију А16, а затим ћелију Д16. У следећем одељку ћете погледати како изгледа исти макро када је снимљен у режиму релативне референце.