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

  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 ответ1

0

Похоже, вы просто пытаетесь скопировать одну ячейку вниз на одну строку. Я собираюсь предположить, что 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

Надеюсь, это работает для вас, удачи!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .