保护Excel工作表,但有一些例外情况。

23 浏览
0 Comments

保护Excel工作表,但有一些例外情况。

我有一个包含宏、下拉菜单和按钮的Excel表格。我在不同的单元格中还有很多乘法、vlookup等公式。按钮的工作方式是,当我按下按钮时,它会添加一个空行并向其添加一些数据。用户需要在其中几个单元格中输入数据。按钮、公式和下拉菜单会改变并向不同的单元格添加新数据。\n现在,我想保护该表格,以防止用户因为错误或故意而更改内容。\n但是,当我保护表格时,使用按钮、乘法和vlookup会导致表格出错,因为它们总是会改变不同单元格的数据。\n有可能使表格对用户只读(除了一些需要输入数据的单元格),并允许宏、公式和下拉菜单更改单元格内容吗?

0
0 Comments

在Excel表格中保护工作表时,有时需要对特定的宏进行例外处理。下面是一个在工作簿打开时解锁工作表的宏,然后在其他宏的末尾放置锁定工作表的宏的示例:

Private Sub Workbook_Open()
  On Error Resume Next
       Sheets("Sheet1").Unprotect Password:=""
  ' 在这里添加其他宏的代码
       Sheets("Sheet1").Protect Password:=""
end sub

这段代码确保在运行其他宏时,工作表不会被锁定,但是一旦其他宏运行完毕,工作表将会被重新锁定。

感谢您的帮助,我使用了您提供的代码,它运行得很好。但是现在我正在使用以下代码来实现同样的效果:

Worksheets("conf").Protect Password:="", UserInterfaceOnly:=True

这样做的好处是,我不需要在每个宏中都添加解锁和锁定的密码。

0