Excel:禁用有关尝试更改BeforeDoubleClick上受保护的单元格的警报

我有一个工作表,有一个受保护的单元格范围。 这些单元格有他们的名字,我想有一个之前双击事件,显示一个表单,并预先加载信息的forms基于单元格中的名称被双击。

我正在使用双击,所以用户获得第一次点击选中的单元格,然后我可以使用ActiveCell.Value获取名称并加载相应的信息。

但是,由于我已经保护了范围,当我双击一个单元格时,我得到一个excel提示

您要更改的单元格或图表受到保护,因此是只读的。

要修改受保护的单元或图表,请先使用“取消保护表”命令(“审阅”选项卡,“更改”组)删除保护。 您可能会被提示input密码。

表格仍然按计划触发,但我想停止发生Excel的提示。 有没有办法来禁用提示? 如果不是的话,还有没有其他方法可以解决这个问题呢?

对于您的特定情况,这是因为您已经为“允许在单元格中直接编辑”启用了工作簿选项,可以在这里find:

在这里输入图像描述

并可以通过代码设置,例如:

 Application.EditDirectlyInCell = True 

所以,当你双击事件触发,但接下来的动作是进入单元格编辑,但因为你已经保护该单元格,你会得到警报。 阻止提醒的最简单的方法是在“编辑”阶段发生之前取消事件 – 您只是想使用事件来启动表单,对吗? 所以事件处理程序是这样的:

 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim varValue As Variant 'get the cell value varValue = ActiveCell.Value 'do something with it - you can launch your form here MsgBox CStr(varValue) ' NOTICE here that you can cancel the double click event ' meaning no attempt to edit the cell will be made per the users double click Cancel = True End Sub