Режимът на запис по подразбиране на Excel е абсолютна справка. Когато препратка към клетка във формула е абсолютна препратка , тя не се коригира автоматично, когато формулата е поставена на ново място.
Най-добрият начин да разберете как тази концепция се прилага към макросите е да я изпробвате. Запишете макрос, който брои редовете в работен лист. (Вижте фигурата за пример.)
Вашият предварително обобщен работен лист, съдържащ две таблици.
Можете да намерите примерния набор от данни, използван тук, онлайн .
Следвайте тези стъпки, за да запишете макроса:
Уверете се, че е избрана клетка A1.
В раздела Разработчик изберете Запис на макрос.
Дайте име на макроса AddTotal.
Изберете Тази работна книга за местоположението за запазване.
Щракнете върху OK, за да започнете да записвате.
В този момент Excel записва вашите действия.
Докато Excel записва, изберете клетка A16 и въведете Общо в клетката.
Изберете първата празна клетка в колона D (D16) и въведете = COUNTA(D2:D15).
Тази формула дава броя на клоновете в долната част на колона D. Използвате функцията COUNTA, тъй като номерата на клонове се съхраняват като текст.
Щракнете върху Спиране на записа в раздела Разработчик, за да спрете записа на макроса.
Вашият общ работен лист.
Форматираният работен лист трябва да изглежда нещо като показаното тук.
За да видите вашия макрос в действие, изтрийте реда Total, който току-що добавихте, и възпроизведете макроса си, като следвате тези стъпки:
В раздела Разработчик изберете Макроси.
Намерете и изберете макроса AddTotal, който току-що записали.
Щракнете върху бутона Run.
Ако всичко върви добре, макросът възпроизвежда вашите действия до T и дава общата сума на вашата маса. Сега ето какво става. Колкото и да се стараете, не можете да накарате макроса AddTotal да работи на втората маса. Защо? Защото сте го записали като абсолютен макрос.
За да разберете какво означава това, разгледайте основния код, като изберете Макроси в раздела Разработчик. Появява се диалоговият прозорец Macro.
Диалоговият прозорец на Excel Macro.
Изберете макроса AddTotal и щракнете върху бутона Редактиране. Visual Basic Editor се отваря и показва кода, който е бил написан, когато сте записали своя макрос:
Под AddTotal()
Диапазон("A16").Изберете
ActiveCell.FormulaR1C1 = "Общо"
Диапазон("D16").Изберете
ActiveCell.FormulaR1C1 = "=COUNTA(R[-14]C:R[-1]C)"
Край под
Обърнете специално внимание на двата реда код, които избират диапазон A16 и диапазон D16. Тъй като макросът е записан в режим на абсолютна препратка, Excel интерпретира избора ви на диапазон като абсолютни препратки към клетки. С други думи, без значение къде е курсорът ви в работната ви книга, когато стартирате записания макрос, Excel ще избере клетка A16 и след това клетка D16. В следващия раздел ще разгледате как изглежда същият макрос, когато е записан в режим на относителна справка.