Я создаю программу для автоматизации некоторой работы, используя запись, а затем очистку. Это работало хорошо до расчета, который занимает слишком много времени для меня. Это простой вложенный оператор IF
ActiveCell.FormulaR1C1 = _
"=IF(RC[-16]="""",""MISSING"",IF(RC[-14]="""",""MISSING"",RC[-14]-RC[-16]))"
Мы имеем дело с данными, которые могут варьироваться от 10 строк до нескольких сотен тысяч. Мое «решение», которым я пока не доволен, ограничивает автозаполнение диапазоном A1: A35000, что все еще требует немного времени для обработки Excel. Это было решение, чтобы xlDown
не привело меня к 1-миллионной строке. Кроме того, я попытался уменьшить размер листа, это тоже работает, но не является хорошим решением.
Вот как выглядит код:
Selection.AutoFill Destination:=ActiveCell.Range("A1:A35000"), Type:= _
xlFillDefault
Что я хочу сделать, так это либо:
автозаполнение из диапазона, на который ссылается число в данной ячейке (поэтому, если данные, которые я помещаю, составляют 500 строк, у меня есть ячейка, которую я набираю 500, и все автозаполнения идут от A1: A500), или
более предпочтительно, чтобы это было сделано автоматически, если программа уже распознала диапазон для автозаполнения.
Я проверил решения и не могу понять, как применить их к моей ситуации.