Приветствую!
Есть две таблицы, связанных между собой определенными функциями.
Какие функции - сейчас не особо важно, сделал для примера такое:
Вторая таблица берет данные из первой строки первой таблицы, хитрым образом суммирует их и помещает себе в первую строчку. Далее во второй таблице вторая строчка берет данные из второй строчки первой таблицы, плюсует первую строку второй таблицы (которая над ней). И так далее.
Задача следующая - протянуть строки второго таблицы от последней заполненной строки второй таблицы до последней строки первой таблицы с учётом всех этих функций
с помощью макроса. Вы спросите — «зачем протягивать макросом, если можно просто выделить последнюю строчку второй таблицы и протянуть ее вниз мышкой». Проблема в том, что строчек первой таблицы в «боевой» задаче более десятка тысяч (крупная база данных). Нужно записать макрос для того, что бы нажать его и уйти пить кофеек минут на 20, пока оно всё растянет и пересчитает.
Протяжка вручную срабатывает на ура — данные считаются правильно. Но нужен макрос, потому что количество срок будет очень большим.
Проблема следующая: никак не получается записать макрос. Сначала пробую обычную запись и воспроизведение — вроде бы пишет, но воспроизводится с жёстко-забитыми адресами ячеек и строк (с 22 по 40). Если в первой таблице после этих манипуляций добавить еще n-нное количество строчек с данными — макрос всё так же тягает строки с 22 по 40.
Понятное дело — нужно включить относительную адресацию. Включаем её тут:
«Должно работать» — скажете вы. Но не тут-то было! После записи и воспроизведения макроса получаем ошибку:
Окно дебага:
Вот тут у меня и ступор - VBA не владею =(.