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


0

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

  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

発生しているエラーは何ですか?
チャーリーRB

単一の列または行全体をコピーしようとしていますか?
ネイト

Excelでテーブルを定義すると、列をドラッグする必要はありません-最初の行に式を入力し、式が入力されている列が空であることを確認するだけです。
プラサナ

回答:


0

単一のセルを1行下にコピーしようとしているようです。「ModelLastRow」は、コピーダウンする単一のセルであると想定します。ループのすべてのステップで、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

うまくいけば、これがあなたにとってうまくいくことを祈ります!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.