Нужна снова ваша помощь, в интернете и на форуме не нашел ответ.
Есть таблицы с данными, в итоговой колонке есть сумма эта сумма должна протянутся вниз столько сколько есть данных необходимых для подсчета.
Проблема в том что данные могут быть в разных местах, то есть не обязательно в колонках B C D, а например в L M N но всегда вместе и так же количество данных может быть любое.
По этому макро рекордером не совсем то что нужно получается в Destination он прописывает фиксированный диапазон.
Заранее спасибо!!!
Здравствуйте уважаемые форумчане!
Нужна снова ваша помощь, в интернете и на форуме не нашел ответ.
Есть таблицы с данными, в итоговой колонке есть сумма эта сумма должна протянутся вниз столько сколько есть данных необходимых для подсчета.
Проблема в том что данные могут быть в разных местах, то есть не обязательно в колонках B C D, а например в L M N но всегда вместе и так же количество данных может быть любое.
По этому макро рекордером не совсем то что нужно получается в Destination он прописывает фиксированный диапазон.
Я вывел себе на панель быстрого доступа кнопочку с таким макросом [vba]
Код
Sub ZapolnVniz() On Error Resume Next rn_ = Rows.Count a_ = Selection.Address c_ = Selection.Column nc_ = Selection.Columns.Count r0_ = Selection.Row r10_ = Cells(rn_, c_).End(xlUp).Row r11_ = Cells(rn_, c_ - 1).End(xlUp).Row r12_ = Cells(rn_, c_ + nc_).End(xlUp).Row r_ = WorksheetFunction.Max(r10_, r11_, r12_) If r_ > r0_ Then Range(a_, Cells(r_, c_)).FillDown End Sub
[/vba] Он ищет номер строки последней заполненной ячейки в текущем столбце (левая верхняя ячейка выделенного диапазона - ЛВЯВД), столбце слева и столбце справа. Выбирает максимальное значение и от ЛВЯВД протягивает вниз до этой максимальной строки то
Я вывел себе на панель быстрого доступа кнопочку с таким макросом [vba]
Код
Sub ZapolnVniz() On Error Resume Next rn_ = Rows.Count a_ = Selection.Address c_ = Selection.Column nc_ = Selection.Columns.Count r0_ = Selection.Row r10_ = Cells(rn_, c_).End(xlUp).Row r11_ = Cells(rn_, c_ - 1).End(xlUp).Row r12_ = Cells(rn_, c_ + nc_).End(xlUp).Row r_ = WorksheetFunction.Max(r10_, r11_, r12_) If r_ > r0_ Then Range(a_, Cells(r_, c_)).FillDown End Sub
[/vba] Он ищет номер строки последней заполненной ячейки в текущем столбце (левая верхняя ячейка выделенного диапазона - ЛВЯВД), столбце слева и столбце справа. Выбирает максимальное значение и от ЛВЯВД протягивает вниз до этой максимальной строки то_Boroda_