Когато записва вашите действия, Excel обикновено записва абсолютни препратки към клетки. (Това е режимът на запис по подразбиране.) Но доста често това е грешен режим на запис. Ако използвате абсолютен режим на запис, Excel записва действителните препратки към клетки. Ако използвате относителен запис, Excel записва относителни препратки към клетки. Продължете да четете, за да видите разликата.
Запис в абсолютен режим
Следвайте тези стъпки, за да запишете обикновен макрос в абсолютен режим. Този макрос просто въвежда имена на три месеца в работен лист:
Уверете се, че бутонът Разработчик → Код → Използване на относителни препратки не е маркиран и след това изберете Разработчик → Код → Запис на макрос.
Въведете Absolute като име за този макрос.
Щракнете върху OK, за да започнете да записвате.
Активирайте клетка B1 и въведете Jan в тази клетка.
Преместете се в клетка C1 и въведете фев.
Преместете се в клетка D1 и въведете Мар.
Щракнете върху клетка B1, за да я активирате отново.
Спрете записващото устройство за макроси.
Натиснете Alt+F11, за да активирате VBE.
Разгледайте модула Module1.
Excel генерира следния код:
Подабсолютен()
'
' Абсолютен макрос
'
Диапазон (“B1”). Изберете
ActiveCell.FormulaR1C1 = „Януари“
Диапазон (“C1”). Изберете
ActiveCell.FormulaR1C1 = „февруари“
Диапазон (“D1”). Изберете
ActiveCell.FormulaR1C1 = „Мар“
Диапазон (“B1”). Изберете
Край под
Когато се изпълни, този макрос избира клетка B1 и вмъква имената на трите месеца в диапазона B1:D1. След това макросът активира повторно клетка B1.
Същите тези действия се извършват независимо коя клетка е активна, когато изпълнявате макроса. Макрос, записан чрез използване на абсолютни препратки, винаги дава едни и същи резултати, когато се изпълнява. В този случай макросът винаги въвежда имената на първите три месеца в диапазона B1:D1 на активния работен лист.
Записване в относителен режим
В някои случаи искате записаният ви макрос да работи с местоположенията на клетките по относителен начин. Може да искате макросът да започне да въвежда имената на месеците в активната клетка. В такъв случай трябва да използвате относителен запис.
Можете да промените начина, по който Excel записва вашите действия, като щракнете върху бутона Използване на относителни препратки в групата Код на раздела Разработчик. Този бутон е бутон за превключване. Когато бутонът се появи маркиран в различен цвят, режимът на запис е относителен. Когато бутонът се появи нормално, записвате в абсолютен режим.
Можете да промените метода на запис по всяко време, дори в средата на записа.
За да видите как работи записването в относителен режим, изтрийте съдържанието на диапазон B1:D1 и след това изпълнете следните стъпки:
Активирайте клетка B1.
Изберете Разработчик → Код → Запис на макрос.
Наименувайте този макрос Relative.
Щракнете върху OK, за да започнете да записвате.
Щракнете върху бутона Използване на относителни препратки, за да промените режима на запис на относителен.
Когато щракнете върху този бутон, той се променя на цвят, различен от останалата част от лентата.
Въведете Jan в клетка B1.
Преместете се в клетка C1 и въведете фев.
Преместете се в клетка D1 и въведете Мар.
Изберете клетка B1.
Спрете записващото устройство за макроси.
Забележете, че тази процедура се различава малко от предишния пример. В този пример активирате началната клетка, преди да започнете да записвате. Това е важна стъпка, когато записвате макроси, които използват активната клетка като основа.
Този макрос винаги започва да въвежда текст в активната клетка. Опитай. Преместете показалеца на клетка към която и да е клетка и след това изпълнете относителния макрос. Имената на месеците винаги се въвеждат, започвайки от активната клетка.
Когато режимът на запис е зададен на относителен, кодът, който Excel генерира, е доста различен от кода, генериран в абсолютен режим:
Подотносител ()
'
„Относителен макрос
'
ActiveCell.FormulaR1C1 = „Януари“
ActiveCell.Offset(0, 1).Range(“A1”).Изберете
ActiveCell.FormulaR1C1 = „февруари“
ActiveCell.Offset(0, 1).Range(“A1”).Изберете
ActiveCell.FormulaR1C1 = „Мар“
ActiveCell.Offset(0, -2).Range(“A1”).Изберете
Край под
За да тествате този макрос, активирайте всяка клетка с изключение на B1. Имената на месеците се въвеждат в три клетки, започвайки с клетката, която сте активирали.
Забележете, че кодът, генериран от записващото устройство на макроси, се отнася до клетка A1. Това може да изглежда странно, защото никога не сте използвали клетка A1 по време на записа на макроса. Това е просто страничен продукт от начина, по който работи макрорекордерът.