我有一个Excel工作表,只允许人们在某些单元格中输入值(让我们说Range(“ A10”))。该单元格受到保护,因为它包含一个公式,该公式强制仅显示有限数量的文本,因此excel文件不会在外观上过长。
用户可以双击该单元格,然后弹出一个表单,在该表单中,他/她可以输入想要在单元格中包含的文本。
问题:如果他们没有双击而只是尝试使用键盘选择并插入文本,则会出现典型的错误消息,表明该单元格已受保护。 现在,我要删除该特定单元格/范围的消息,并显示一个MsgBox,上面写着“双击以插入/更改文本”。
您是否知道如何实现?
我已经尝试通过application.onkey事件来解决这个问题(但是我没有找到解决方案来询问是否按下了任何键)。
非常感谢!
答案 0 :(得分:0)
如何“禁用”完整的消息。在工作表中运行
Private Sub Activate()
Dim sht As Worksheet
Set sht = ActiveSheet
With sht
.Protect Contents:=False
.EnableSelection = xlNoSelection
End With
If sht.Cells.Locked = True Then
sht.Cells.Locked = False
End If
With sht
.Protect Contents:=True
.EnableSelection = xlNoSelection
End With
End Sub