7

我需要检测excel的粘贴命令。当用户单击鼠标左键单击弹出的菜单上的粘贴时,是否有任何解决方法可以告诉我们。如果用户单击粘贴菜单项,这需要我执行一个过程。任何帮助,将不胜感激。

问候, 阿米特

4

1 回答 1

18

从 Excel VBA 借用如何检测是否将某些内容粘贴到 Worksheet中。该Workbook_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
于 2016-02-17T17:03:17.097 回答