Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Как макросу протянуть нужное колличество строк формул
 
Всем привет, ребята нужна ваша помощь, никак не получается решить уверен пустяковую проблему. В колонки A-D (зеленые) вставляются исходные данные, затем маркрос удаляет все ненужное. Количество строк в исходных данных всегда разное.Тут и начинается самое интересное в колонках E-J (желтые), записаны различные формулы которые необходимо протянуть по вему массиву колонок A-D, чтобы в итоге получилась автосумма в колонке K. Никак не могу научить макрос протягивать нужное колличество строк. Если появляются лишние протянутые строку автосумма не считается. Возможно все формулы в желтых колонках можно записать в макрос, но это для меня космос...
форум.PNG (31.28 КБ)
 
Код
Sub ПротянутьФормулы()
With ActiveSheet
    .Range("E2:J2").AutoFill .Range("E2:J" & .Cells(.Rows.Count, "D").End(xlUp).Row)
End With
End Sub
Согласие есть продукт при полном непротивлении сторон.
 
Sanja большое спасибо! С макросами разбираюсь меньше недели и на данный момент строка которую вы прислали для меня как магия)) Но все работает!!!
получилось скрестить то что уже было с вашей строкой, теперь все еще лучше (в один клик). Но, всегда есть но, можно сделать так чтобы макрос проверял и удалял заполненные строки ниже пересчета, оставшиеся после предыдущего документа? Или считал сумму только по колличеству строк нового пересчета а не по всей колонке?
форум2.PNG (34.99 КБ)
Изменено: BMSs - 20 Янв 2017 13:47:23
 
BMSs, вообще-то на форуме по Excel картинки как-то неуместно выглядят (см. Правила, п.2.3).
Последний раз, в виде исключения
Код
Sub ПротянутьФормулы()
With ActiveSheet
    .Range("E3:J" & .Cells(.Rows.Count, "J").End(xlUp).Row).ClearContents
    .Range("E2:J2").AutoFill .Range("E2:J" & .Cells(.Rows.Count, "D").End(xlUp).Row)
End With
End Sub
Согласие есть продукт при полном непротивлении сторон.
 
Спасибо, все получилось! И спасибо за "последний раз", учту.
Страницы: 1
Читают тему (гостей: 2)
Наверх