插入行而不粘贴

时间:2017-07-10 00:08:34

标签: excel-vba vba excel

我正在尝试调试以下小宏:

Sub InsertRowAbove()
'
' InsertRow Macro
' Pushes active row down
'
    Dim N As Long
    ActiveCell.EntireRow.Insert Shift:=xlDown
    N = Cells(Rows.Count, "G").End(xlUp).Row
    Range("G4").Copy Range("G5:G" & N)
    Range("J4").Copy Range("J5:J" & N)

End Sub

宏应允许用户在活动单元格的正上方插入空行,并在 G J 列中填充公式。

宏工作。

但是,如果用户在运行宏之前执行复制/粘贴操作,宏将尝试将材质粘贴到新行中。

我们想要宏将新插入的行留空。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

添加一行以停用CutCopyMode

Sub InsertRowAbove()
'
' InsertRow Macro
' Pushes active row down
'
    Dim N As Long

    Application.CutCopyMode = False 'This line to get rid of clipboard.

    ActiveCell.EntireRow.Insert Shift:=xlDown
    N = Cells(Rows.Count, "G").End(xlUp).Row
    Range("G4").Copy Range("G5:G" & N)
    Range("J4").Copy Range("J5:J" & N)

End Sub