当我保护工作表并尝试编辑具有索引的单元格时,它会将我传送到该工作表并突出显示索引尝试返回的列。这不是那么好,因为有时我会引用其他已关闭的工作簿。如何禁用此功能,是否有办法让它直接转到索引的结果而不是突出显示整个列?
重现问题,
创建索引公式,保护工作表,双击该单元格,弹出您无法编辑它,然后将您传送到索引的数组部分中包含的单元格。您可以想象当您保护单元格以防止用户编辑他们不应该编辑的内容时这会成为一个问题,而是将它们带到另一个他们不应该的地方!
我试过了:
Application.DisplayAlerts = False
但它仍然会弹出工作表受到保护并传送给我的错误。 Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
似乎也未捕获此事件。
答案 0 :(得分:1)
要避免这种情况,请选择要保护的所有单元格,然后在格式单元格上转到保护选项卡。
选中隐藏复选框。
然后保护工作表并尝试再次双击该单元格。 HTH。
答案 1 :(得分:0)
Index(array,,)
当工作表受到保护时,即使将它们放在if中,任何单元格引用也都在Excel中打开。这个问题的VBA解决方案是
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Locked Then Cancel = True
End Sub
此解决方案有效,因为它只会在您双击时创建秘密超链接(超链接事件不会捕获)。
答案 2 :(得分:0)
如果要保持单元格锁定,我发现的最佳解决方案是将超链接放在文本框中。