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