VBA Добавление кнопки, которая добавляет строку, которая копирует формулы в определенную сверху активную ячейку, не работает - PullRequest
0 голосов
/ 24 января 2020

Я хочу сделать кнопку, которая копирует определенные формулы в пределах диапазона и вставляет ее под активную ячейку. Это работает, но теперь ссылка на формулу продолжает ссылаться на формулу над ней, мне нужно, чтобы она действовала как автозаполнение,

Sub Rijen_Toevoegen()

ActiveCell.Offset(1).EntireRow.Insert Shift:=xlDown
Range("B" & ActiveCell.Row + 1 & ":H" & ActiveCell.Row + 1).Formula = Range("B" & ActiveCell.Row & ":H" & ActiveCell.Row).Formula


End Sub

Ответы [ 2 ]

1 голос
/ 24 января 2020

Вы можете использовать автозаполнение следующим образом:

Sub Rijen_Toevoegen()

    ActiveCell.Offset(1).EntireRow.Insert Shift:=xlDown
    Range("B" & ActiveCell.Row & ":H" & ActiveCell.Row).AutoFill Destination:=Range("B" & ActiveCell.Row & ":H" & ActiveCell.Row + 1)

End Sub

Обратите внимание, что диапазон назначения должен включать строку ActiveCell "B" & ActiveCell.Row, а также строку, которую вы заполняете ":H" & ActiveCell.Row + 1 (плюс 1)

Дайте мне знать, если это работает

0 голосов
/ 24 января 2020

Смещение должно использоваться следующим образом:

currentSheet.yourRange.Offset(offsetRow, offsetColumn)

При этом вы должны изменить свой код на:

Sub Rijen_Toevoegen()
    ActiveCell.Offset(1, 0).EntireRow.Insert Shift:=xlDown
    Range("B" & ActiveCell.Row + 1 & ":H" & ActiveCell.Row + 1).Formula = Range("B" & ActiveCell.Row & ":H" & ActiveCell.Row).Formula
End Sub

Кроме того, рекомендуется избегать использования .Select,. Active, ActiveCell и тому подобное.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...