我正在尝试保护我的工作簿,但为用户输入保留了一些不受保护的单元格。我正在尝试的代码如下:
Private Sub Workbook_Open()
ActiveWorkbook.Sheets("User Inputs").Range("D6:D12").Locked = False
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ws.Protect Password = Password
Next ws
End Sub
运行此命令时,出现错误,提示它无法设置range类的locked属性。我怎样才能解决这个问题? 另外,当我尝试手动设置密码,然后尝试使用宏取消保护时,即使输入了密码,它也表示密码不正确。你知道为什么会这样吗?
谢谢!非常感谢您的帮助!
答案 0 :(得分:2)
按名称显式提供参数时,应使用:=
运算符:
Private Sub Workbook_Open()
ActiveWorkbook.Sheets("User Inputs").Range("D6:D12").Locked = False
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ws.Protect Password := "SomePassword"
Next ws
End Sub
或者,只需写ws.Protect "SomePassword"
。