双击受保护工作表中的单元格公式可激活公式指向的工作表

时间:2018-04-22 21:08:29

标签: excel vba excel-vba

假设我有一个包含两个工作表的工作簿。

我通过以下代码保护sheet2:      Sub test() Worksheets(2).Cells.Locked = True Worksheets(2).Protect DrawingObjects:=False End sub

(我已经设置了DrawingObjects:= False,因为我仍然希望能够编辑表单)

保护在sheet2上完成了我的预期,当我双击一个单元格时,它会显示警告"您尝试更改的单元格或图表位于受保护的工作表上。要进行更改,请取消保护工作表。可能会要求您输入密码。"。

但是,如果双击的单元格包含例如SUM公式,则会突出显示公式所引用的范围。如果它是引用sheet1中范围的SUMIFS公式,则会激活sheet1。

关于如何在不禁用双击的情况下防止这种情况的任何想法?

谢谢。

1 个答案:

答案 0 :(得分:1)

在保护工作表时,您只需要 取消选中 选项

  

允许此工作表的所有用户: Select locked cells

     
    

img

  

VBA等价物是:

ActiveSheet.EnableSelection = xlUnlockedCells

启用单元格选择有三个选项

img

更多信息:

编辑:

要允许用户选择单元格(并查看内容),但禁止双击,您可以 检查 {的选项{1}}然后将代码添加到工作表模块

Select locked cells

(要打开工作表模块,请右键点击屏幕底部的工作表标签,然后选择Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Cancel = True End Sub

请注意,用户仍然可以通过单击公式栏或在选择单元格后按 F2 来编辑单元格的公式(并因此勾勒出公式中包含的单元格范围)(尽管the formula bar can be removed也是如此。)