用户可以在不提供密码的情况下取消保护vba保护的工作表

时间:2016-04-19 08:50:48

标签: vba excel-vba excel

我已经按照以下方式放置了一些工作表保护线:

Private Sub Workbook_Open()

  Worksheets("Sheet1").Protect password, UserInterfaceOnly:=True
  Worksheets("Sheet1").Protect AllowFiltering:=True

  Worksheets("Sheet2").Protect password, UserInterfaceOnly:=True
  Worksheets("Sheet2").Protect AllowFiltering:=True

  Worksheets("Sheet3").Protect password, UserInterfaceOnly:=True
  Worksheets("Sheet3").Protect AllowFiltering:=True

  Worksheets("Sheet4").Protect password, UserInterfaceOnly:=True
  Worksheets("Sheet4").Protect AllowFiltering:=True

End Sub

但是,每当我从主菜单中点击unprotect worksheet时,excel都不会要求输入任何密码,只需取消保护。我在这里做错了什么?

感谢大家!

2 个答案:

答案 0 :(得分:1)

Worksheets("Sheet1").Protect password, UserInterfaceOnly:=True, AllowFiltering:=True

为每一行执行此操作并且它应该可以正常工作,假设您确实将密码标记放入变量password

答案 1 :(得分:0)

您是否尝试过只保护一行并指定密码字符串?

工作表(" Sheet1")。保护密码:=" YourPassword",UserInterfaceOnly:= True,AllowFiltering:= True