陷阱删除键

时间:2011-11-02 13:22:10

标签: excel excel-vba vba

我的问题相当简单:我需要将逻辑应用于Excel中的删除按钮。在a related question I asked for means to clear cells in a pivot table中,现在意识到这可能不是正确的方法,这是我正在考虑的另一种选择。不幸的是,我承认自己对Visual Basic没什么经验,而且这个任务正在证明是一个挑战(非常令人惊讶)。

是否可以在Excel中捕获(如监听)删除键并在按下时在VBA中触发子程序?

我很感激所有的投入!谢谢!

1 个答案:

答案 0 :(得分:3)

您使用Application.Onkey将代码分配给键

如果你 (1)将此代码添加到包含您的数据透视表的工作表模块中(右键单击工作表选项卡,查看代码并通过以下代码)

此代码激活,然后在用户输入时取消激活拦截,然后离开此特定工作表:

Private Sub Worksheet_Activate()
Application.OnKey "{DELETE}", "Intercept"
End Sub

Private Sub Worksheet_Deactivate()
Application.OnKey "{DELETE}"
End Sub

(2)将此代码添加到常规模块

Sub Intercept()
MsgBox "user just pressed delete"
End Sub

然后该工作表上的删除将被困,用户会收到一条消息