Excel VBA:如何在Keydown上禁用受保护的工作表对话框

时间:2018-04-03 22:34:06

标签: excel vba excel-vba dialog

执行文件后>保护工作簿>保护当前表>取消全选>好

任何时候我在查看表单的同时按下keydown我都会得到一个

“您尝试更改的单元格或图表位于受保护的工作表上。”对话框。

我想禁用它。

我目前有一个Auto_Open宏来执行Application.DisplayAlerts = False

这似乎没有帮助,即使我确定宏在启动时运行。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

所以这是kskinne的解决方法:

1)确保您不想要更改的所有单元格都被锁定Format Cells > Locked

2)然后,不使用工作表保护,而是在感兴趣的工作表的代码窗格中使用以下代码。

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

    Application.EnableEvents = False

    If Target.Locked = True Then Application.Undo

    Application.EnableEvents = True

End Sub

我喜欢这个解决方案。我不认为关闭DisplayAlerts会起作用。我放 Application.DisplayAlerts = False进入Worksheet_Activate事件并且消息仍然被触发。