【问题标题】:Insert Row without Pasting插入行而不粘贴
【发布时间】:2017-07-10 15:20:54
【问题描述】:

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

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

该宏应允许用户直接在活动单元格上方插入一个空行,并在 GJ 列中填写公式。

宏有效。

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

我们希望宏将新插入的行留空。

有什么建议吗??

【问题讨论】:

  • 在插入之前清除剪贴板(可能对您的用户来说有点烦人)或在插入之后清除插入的行?
  • @TimWilliams 清除剪贴板可以解决问题.....谢谢

标签: excel vba


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-12
    • 1970-01-01
    相关资源
    最近更新 更多