Предположим, в ячейке A1 стоит число 10 (или любое другое). Как сделать так, чтобы в столбце B автоматически заполнилось, в соответствии с ячейкой A1, ровно 10 строк (c B1 по B10)?
Заполнить ячейки нужно с помощью автозаполнения. В самом Экселе я это делаю так: выделяю диапазон B1:B10 - вкладка Главная - группа Редактирование - Заполнить - Прогрессия... - Арифметическая - OK.
Значения ячейки B1 и количество строк меняются, поэтому хочется автоматизировать процесс, чтобы каждый раз вручную не выбирать диапазон.
Кроме того, после заполнения диапазона B1:B10 макрос должен скопировать диапазон B1:B10, т.к. мне надо вставить эти данные в другое приложение.
Макрос
Sub Макрос()
Dim Колич As Long, lr As Long
' Очистка столбца от предыдущих данных.
' End не ищет в скрытых строках.
lr = Cells(Rows.Count, "B").End(xlUp).Row
If lr > 1 Then
Range("B2:B" & lr).ClearContents
End If
' Запись количества в переменную.
Колич = Range("A1").Value
' Автозаполнение в столбце B.
' В B1 до запуска макроса должно быть введёно значение.
Columns("B").Resize(Колич).DataSeries Rowcol:=xlColumns, Type:=xlAutoFill
' Копирование заполненного фрагмента.
Columns("B").Resize(Колич).Copy
End Sub
Большое спасибо! Всё отлично.