锁定列和保护工作表后,隐藏和取消隐藏宏将不起作用

锁定列和保护工作表后,隐藏和取消隐藏宏将不起作用

我有两列,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"

相关内容