Excel 2010 VBA Автозаполнение всего столбца

У меня возникли проблемы с тем, чтобы VBA выполнял эквивалент автозаполнения всей строки (например, когда вы дважды щелкаете знак плюс в ячейке с формулой, и он автоматически заполняет соответствующее количество столбцов).

В столбце А у меня есть список дат. В строке 3 у меня есть список формул. Как мне написать макрос, который будет эффективно это делать:

For i = 2 to Columns.Count
    'FillDown the whole of Column i with the formula in Cells(3,i)
Next i

Я хочу заполнить, а не просто копию точной формулы... Кто-нибудь знает, как это можно сделать? У меня есть метод, который пока занимает около 20 минут, но когда я выполняю этот процесс вручную, это занимает совсем немного времени, поэтому я думаю, что должен быть гораздо более быстрый способ.

Заранее большое спасибо за вашу помощь!


person Derek    schedule 25.10.2011    source источник


Ответы (1)


Вы можете попробовать использовать Autofill с диапазоном назначения.

Что-то вроде:

Selection.AutoFill Destination:=Range("A2:A12")

[Редактор:

Range("A1").AutoFill Destination:=Range(Cells(1, firstColNumber), Cells(1, lastColNumber))
person JMax    schedule 25.10.2011
comment
Нужно ли менять диапазон для каждого столбца? т.е. должен ли я каждый раз ставить диапазон (A2: A12) или обновлять его до диапазона (B2: B12) и т. д.? Я спрашиваю, потому что имею дело с номерами столбцов, а не с буквами. - person Derek; 25.10.2011
comment
Вариант этого работал нормально! Чтобы другие знали, решение, которое я использовал на основе этого ответа, было: Cells(3, i).AutoFill Destination:=Range(Cells(3, i), Cells(NumberOfRows, i)) - person Derek; 25.10.2011