保护工作簿(除少数单元格外)

时间:2018-07-31 16:06:38

标签: excel vba excel-vba password-protection

我正在尝试保护我的工作簿,但为用户输入保留了一些不受保护的单元格。我正在尝试的代码如下:

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属性。我怎样才能解决这个问题? 另外,当我尝试手动设置密码,然后尝试使用宏取消保护时,即使输入了密码,它也表示密码不正确。你知道为什么会这样吗?

谢谢!非常感谢您的帮助!

1 个答案:

答案 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"