我有两列,E 和 G,其中包含公式,因此我锁定了这些列并保护了它们所在的工作表。工作表上有两个按钮,一个隐藏按钮和一个取消隐藏按钮。锁定这些列并保护工作表后,分配给这些按钮的宏不再起作用。当我选择按钮时,我收到运行时错误“1004”,无法设置 Range 类的 Hidden 属性。宏的代码如下:
Sub Hide()
'
' Hide Macro
'
' Keyboard Shortcut: Ctrl+Shift+H
'
For Each c In Range("C7:C446")
If IsEmpty(c.Value) Then
'If (c.Value) = "" Then
c.EntireRow.Hidden = True
End If
Next c
End Sub
取消隐藏宏:
Sub UH()
'
' UH Macro
'
'
Rows("6:447").Select
Selection.EntireRow.Hidden = False
End Sub
我认为我必须添加一个取消保护命令,我试过了,但似乎不起作用。我试过:
Worksheets("JE").Unprotect Password:="ImportLCPA17", UserInterfaceOnly:=True
是否有人知道我可以进行哪些调整,以使那些隐藏和取消隐藏宏(链接到按钮)能够在锁定这些列的情况下工作?
答案1
这对我有用:
要最初取消对工作表的保护:
Worksheets("name").Unprotect Password:="password"
要再次保护工作表:
Worksheets("name").Protect Password:="password"