新しい行を挿入し、数式を自動入力する

新しい行を挿入し、数式を自動入力する

特定の条件が満たされた場合に新しい行を挿入しようとしています。最後の行から挿入された行に数式をドラッグしたいのですが、そうするとエラーが発生します。以下は私のコードです:

  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 つのセルを 1 行下にコピーしようとしているだけのように見えます。ここでは、「ModelLastRow」がコピーする 1 つのセルであると仮定します。ループの各ステップで、ModelLastRow を 1 行下にオフセットして別の行をコピーします。

 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

これがうまくいくことを祈っています。幸運を祈ります!

関連情報