Чтобы ответить на ваш вопрос, вы не указали правильный диапазон. Как вы сказали, простой диапазон можно указать
Используя формат строки Range("A1:B4")
, где A1
и B4
- два противоположных угла диапазона.
Использование двух углов в качестве ячеек, например Range( Cells(1,1), Cells(4,2) )
, где Cells(1,1)
равно A1
, а Cells(4,2)
равно B4
Таким образом, вы можете напишите
ActiveCell.AutoFill Destination:=Range(Cells(2, ActiveCell.Column), Cells(lastRow, ActiveCell.Column)), Type:=xlFillDefault
Чтобы достичь своей цели, вы также можете избежать использования автозаполнения. Формат FormulaR1C1 позволяет писать формулы с «относительными» смещениями / адресами ячеек. Таким образом, после автозаполнения все ячейки в столбце desiderd будут иметь одинаковую FormulaR1C1. Тогда вы можете избежать использования автозаполнения и вручную установить один и тот же FormulaR1C1 для всего столбца.
Таким образом, вы можете написать более простой код, подобный этому:
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
Range(Cells(1, ActiveCell.Column), Cells(lastRow, ActiveCell.Column)).FormulaR1C1 = "=LEFT(RC[-1],4)"