Страницы: 1
RSS
VBA Заполнить до конца колонки с 6-ой строки
 
Добрый день Коллеги.

Давно не пользовался макросами и сейчас с толкнулся с задачей где они чень нужны.
Мне нужно протянуть формуры в определенной колонке (H) до конца таблицы.
У меня проблема в том, что не удается прописать, что бы формула протягивала до конца не с самой первой строки а со строки H6

Как мне переделать эту формулу
Selection.AutoFill Destination:=Range("H6", Cells(LA, "H")) - Что бы она работала с ячейки H6 и до конца таблицы подскажите пожалуйста?
Код
Cells(6, "H").Select
LA = Cells(Rows.Count, "H").End(xlUp).Row
Sheets("01. Таблица").Range("H6:H5000").Select
    Selection.ClearContents
    Sheets("01. Таблица").Range("H1").copy
    Range("H6").Select
    ActiveSheet.Paste
    Range("H6").Select
    'Selection.AutoFill Destination:=Range("H6:H5000")
    Selection.AutoFill Destination:=Range("H6:H500")
Изменено: bobyjoy - 28.09.2018 15:49:16
 
bobyjoy  Вычисляете последнюю заполненную строку, например iLastRow = Cells(Rows.Count, 1).End(xlUp).Row, в Вашу формулу пишете:  ...Range("H6:H" & iLastRow)
Excel непознаваем как атом.
 
например если нужно опираться на предыдущий столбец, то
Код
Selection.AutoFill Destination:=range("H6",Range("g6").END(XlDown).Offset(,1))
Изменено: БМВ - 28.09.2018 16:45:05
По вопросам из тем форума, личку не читаю.
 
Спасибо но заполняет только одну ячейку H6 а ниже не заполняет(
 
Цитата
БМВ написал:
например если нужно опираться на предыдущий столбец,
- это столбец который должен быть заполнен до конца таблицы, иначе надо смотреть на пример таблицы, так и UsedRange может не спасти, если есть еще данные ниже чем нужно.
По вопросам из тем форума, личку не читаю.
 
Коллеги, прикрепил файл.
Мне просто нужно что бы из ячейки h3 скопировалась формула в ячейку h6 и затем протянулась до конца таблицы.
Я могу заполнить указав жеский диапозон, а надо что бы он определил последнюю строку сам и до нее заполнил формулой.
 
Код
Sub CopyFormula()
Range("H6", Range("g6").End(xlDown).Offset(, 1)).FormulaR1C1 = Range("H3").FormulaR1C1
End Sub
По вопросам из тем форума, личку не читаю.
 
Добрый день, уважаемые форумчане!

Помогите в решении следующей проблемы.
Есть отправная ячейка "С7" с датой, например 31.12.2018. При вставке формулы =ДАТАМЕС(C7;1)  в следующую нижнюю строку в ячейку "С8" выявил косяк, а именно: если в в январе дата в этой ячейке была 31.01.2019, то при копировании на следующую строку ("С9") становится 28.02.2019, а на следующую ("С10") 28.03.2019 вместо 31.03.2019. При протягивании же значения даты встаю верно: 31.01.2019, 28.02.2019, 31.03.2019 и т.д.
Решил вместо копирования написать макрос автозаполнения, но не могу правильно записать диапазон назначения... Пробовал несколько вариантов - выдает ошибку. Знатоки, помогите пожалуйста, начинающему пользователю! Выкладываю ниже фрагмент Кода. Сначала каждая верхняя строка просто копировалась, но после выявления ошибки с датами решил добавить 2 последние строки. Макрос работает, но автозаполнения по месяцам не происходит и на последней строке выскакивает ошибка.
Код
Sub Macro1 ()
i = ActiveCell.Row
If Not Intersect(ThisWorkbook.Names("famal").RefersToRange, ActiveCell) Is Nothing Then
Application.Run ("Macro2")
End
End If
Rows(i + 1).EntireRow.Insert Shift:=xlDown
Cells(ActiveCell.Row, ActiveCell.Column).Resize(, 20).Select
    Selection.Copy
    Cells(i + 1, 1).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    ActiveCell.Offset(-1, 2).Select
    Selection.AutoFill Destination:=Range(Cells(i, 0), Cells(i + 1, 3)), Type:=xlFillMonths
    End Sub

Помогите, плиз!
Заполняться должна только одна ячейка того же столбца, которая находится в ставленной строке ниже скопированной строки.
Изменено: Mikeger - 21.03.2019 16:28:18
Страницы: 1
Наверх