Страницы: 1
RSS
Заполнение пустых ячеек значениями с нижних ячеек с учетом обїединенніх ячеек
 
Доброго времени суток!
Гуру экселя прошу Вашей помощи с макросом для листа.

Имеется фиксированная таблица с данными. Может быть заполнена вся таблица, тогда макрос не требуется. Если имеются пустые строки, необходимо, чтобы все пустые ячейки были заполнены с нижних ячеек. Ещё в моём случае один столбец - объединение нескольких ячеек. После таблицы также может быть информация.

Нашёл один пример - за это Ему бескрайняя благодарность.
Вот как данный макрос "подогнать" под мой случай?
 
ГДВ, а зачем жать столько раз на 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 строки включительно(в этом случае работа макроса не требуется).
И после таблицы могут быть ещё данные, которые макрос подхватывает и думает, что всё-таки они нуждаются в копировании
Изменено: ГДВ - 02.08.2020 11:15:55
 
А нельзя было эти "некие уточнения" обговорить сразу? Да и в примере показать?
 
Исправил
 
Код
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 строки.
В примере если будут в середине таблицы пустые ячейки, макрос их должен заполнить.
Изменено: ГДВ - 02.08.2020 12:30:19
 
Изменил макрос в #6/.
 
изменил пост #7

Ещё раз залью файл:
Попробуйте как макрос работает на первом листе - "Пример1", и на третьем листе - "Пример2"
Листы как должно быть рядом с примерами.
Изменено: ГДВ - 02.08.2020 13:00:11
 
Вы опять поменяли исходные данные...
Тогда перебирать вложенным циклом строк. И, если ячейка пустая - присвоить значение из 21 строки.
 
Изобразите, как это будет в макросе.
 
Разрешите приступить&
 
А для этого нужно разрешение?)
 
А Вы перечитайте свой пост:
Цитата
ГДВ написал:
Изобразите, как это будет в макросе.

Это приказ, а не просьба...
 
Тогда пардоньте. Конечно же просьба.
 
Код
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
 
От души.
Юрий, спс за макрос и за терпение.
Виктор, спс за "прическу" первого поста.
 
ПЖЛ.
Страницы: 1
Наверх