Дело здесь в другом. Макрос должен запускаться по какому-то событию. И если определённого события нет, то непонятны условия работы макроса.
Событие - когда в следующей строке появляются ненулевые значения, т.е. пока нет данных за будущие дни, там везде стоят нули, либо пусто
Вот это непонятно. Excel открыт, и программа, работающая в фоновом режиме, записывает в него данные, а пользователь смотрит "бегущие цифры" на листе с формулами? Программа выгружает данные в книгу, а затем пользователь открывает эту книгу, и у него сразу появляются доступные и обновлённые результаты расчётов формул?
Excel открыт всегда и выгрузка идет в фоновом режиме. На "портянку" данных никто не смотрит без особой необходимости, а смотрят на другой лист, где идут расчеты и рисуется диаграмма - вот там должны данные обрабатываться сразу, т.е. допустим, утром выгружаются последние данные за вчерашний день, все формулы расчитывают вчерашний день. Потом в какой-то момент пришла строка с текущей датой - соответственно, формулы текущей даты ее сразу просчитали и в тот момент, когда появились какие-то цифры за "сегодня", все формулы "вчерашней" строки должны стат значениями.