如何在excel中检测粘贴事件

时间:2012-09-21 07:22:54

标签: excel vba excel-vba

我需要检测excel的粘贴命令。有什么工作可以告诉我们当用户点击左侧mosue按钮点击弹出的菜单上的粘贴时。如果用户单击粘贴菜单项,则需要我执行该过程。任何帮助将不胜感激。

此致 阿米特

1 个答案:

答案 0 :(得分:15)

借鉴Excel VBA How to detect if something was pasted in a WorksheetWorkbook_SheetChange事件将针对页面上的任何更改事件触发,包括粘贴。

在此事件中,您可以通过查看撤消列表历史记录中的最新条目来检查上次更改是否为粘贴:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  Dim lastAction As String

  ' Get the last action performed by user
  lastAction = Application.CommandBars("Standard").Controls("&Undo").List(1)

  ' Check if the last action was a paste
  If Left(lastAction, 5) = "Paste" Then

    ' Do Stuff Here

  End If
End Sub