Доброго времени суток! Гуру экселя прошу Вашей помощи с макросом для листа.
Имеется фиксированная таблица с данными. Может быть заполнена вся таблица, тогда макрос не требуется. Если имеются пустые строки, необходимо, чтобы все пустые ячейки были заполнены с нижних ячеек. Ещё в моём случае один столбец - объединение нескольких ячеек. После таблицы также может быть информация.
Нашёл один пример - за это Ему бескрайняя благодарность. Вот как данный макрос "подогнать" под мой случай?
ГДВ, а зачем жать столько раз на Enter? Зачем в сообщении столько пустых строк? Приведите свой пост в порядок.
Вариант:
Код
Sub Macro1()
Dim LastRow As Long, j As Long
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
For j = 1 To 4
Range(Cells(8, j), Cells(LastRow - 1, j)).Value = Cells(LastRow, j)
Next
End Sub
Благодарю за вариант! Некие уточнения: Данные не ограничиваются седьмой строкой. Могут быть заполнения до 19, 20 строки включительно(в этом случае работа макроса не требуется). И после таблицы могут быть ещё данные, которые макрос подхватывает и думает, что всё-таки они нуждаются в копировании
Sub Macro1()
Dim LastRow As Long, j As Long
For j = 1 To 4
LastRow = Cells(21, j).End(xlUp).Row + 1
If LastRow = 7 Then LastRow = 21
If LastRow < 21 Then
Range(Cells(LastRow, j), Cells(20, j)).Value = Cells(21, j)
End If
Next
End Sub
СПС. Если таблица будет заполнена данными с 7 по 20 включительно и жмакнуть макрос, то таблица заполнится всем тем, что было в 21 строчке. А по факту - макрос должен оставить всё без изменений. Если первый пост малоинформативен, напишите, что ещё необходимо добавить.
Задача макроса - заполнять пустые ячейки - информацией из 21 строки. В примере если будут в середине таблицы пустые ячейки, макрос их должен заполнить.
Ещё раз залью файл: Попробуйте как макрос работает на первом листе - "Пример1", и на третьем листе - "Пример2" Листы как должно быть рядом с примерами.
Sub Macro1()
Dim i As Long, j As Long, x
For j = 1 To 4
x = Cells(21, j).Value
For i = 7 To 20
If Cells(i, j).Value = "" Then Cells(i, j) = x
Next
Next
End Sub