Заполнение одного листа по данным с другого листа

Автор Maksimus, 08.02.2024, 18:07

« назад - далее »

Maksimus

Нужно заполнять колонку C на листе1, данными с листа2 с колонки А, прямой формулой, что C3=A1 и так далее, сделать нельзя так как сегодня на листе2 может быть 100 строк, а завтра там может быть 2000строк.
Саму таблицы выложить не могу та как формулы и данные в ней коммерческая тайна. Во вложение добавил скрин кусочка таблицы для наглядного понимания.

Serge 007

Цитата: Maksimus от 08.02.2024, 18:07Саму таблицы выложить не могу
Сама таблица и не нужна, нужен файл-пример

Цитата: Maksimus от 08.02.2024, 18:07сегодня на листе2 может быть 100 строк, а завтра там может быть 2000строк
Какой принцип заполнения Лист1 при изменении кол-ва строк с данными на Лист 2?

Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

Maksimus

#2
1. Во вложении.
2. Сейчас реализовано C3=Лист2!A2, C4=Лист2!A3, С19=Лист2!A2 и так.  В файле примере видно что если на 2 листе больше чем на 1 листе, нужно чтобы (формула\макрос) сделала на 1 листе в каждом месяце количество строк с данными такое же как на листе 2 (сейчас получается что надо добавить строк и протянуть формулы, а хочется автоматом). То есть добавила по 11 не хватающих строк, а если в будущем на лист2 я добавлю еще данных, то эти новые данные протянулись во все месяцы.

Serge 007

Цитата: Maksimus от 09.02.2024, 11:14В файле примере видно что если на 2 листе больше чем на 1 листе
Не видно...
На Лист2 - 8 записей, а на Лист1 - 16 строк в месяце
Почему так?
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

Maksimus

Да будь не ладен MS который придумал сохранять в onedrive. Загрузил нормальный пример.

Serge 007

Цитата: Maksimus от 09.02.2024, 14:17Загрузил нормальный пример
Пример тоже некорректный, но что требуется - стало понятно :)

Sub Maksimus()
    Dim iCount&, LR&, i&
        iCount = Sheets("Лист2").Cells(Rows.Count, 1).End(xlUp).Row
        Sheets(2).Range("a2:a" & iCount).Copy
            For i = 1 To 12
            LR = Sheets("Лист1").Cells(Rows.Count, 3).End(xlUp).Row + 1
                With Sheets(1)
                .Paste Range("c" & LR & ":c" & iCount * i)
                .Range("b" & LR & ":b" & iCount * i) = DateSerial(Year(Now), i, 1)
                .Range("a" & LR & ":a" & iCount * i) = DateSerial(Year(Now) - 1, i, 1)
                End With
            Next i
End Sub
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

Maksimus

Спасибо, бухгалтеры и менеджеры радовались как дети когда им дали конфету.

Serge 007

Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390