Я пытаюсь вставить новые строки, если выполняется определенное условие. Я хочу перетащить формулу из последней строки во вставленную строку, но при этом получаю ошибку. Ниже приведен мой код:
For i = 1 To diff
MsgBox ("Difference is " & diff)
With Sheet5.Rows(ModelLastRow.Row + 1)
.Insert Shift:=xlDown
End With
insertRowRange = "C" & CStr((ModelLastRow.Row))
pasteRowRange = "C" & CStr((ModelLastRow.Row + 1))
Range("insertRowRange").AutoFill Destination:=Range("pasteRowRange")
Next
решение1
Похоже, вы просто пытаетесь скопировать одну ячейку вниз на одну строку. Я предполагаю, что "ModelLastRow" — это одна ячейка, которую вы хотите скопировать вниз. На каждом шаге цикла я смещаю ModelLastRow вниз на одну, чтобы скопировать еще одну строку.
Dim ModelNextRow As Range
MsgBox ("Difference is " & diff)
For i = 1 To diff
Set ModelNextRow = Union(ModelLastRow, ModelLastRow.Offset(1, 0))
ModelLastRow.AutoFill Destination:=ModelNextRow, Type:=xlFillDefault
Set ModelLastRow = ModelLastRow.Offset(1, 0)
Next
End Sub
Надеюсь, это сработает для вас, удачи!