Isso é o que funcionou para mim:
Para inicialmente desproteger a planilha:
Worksheets("name").Unprotect Password:="password"
Para proteger a folha novamente:
Worksheets("name").Protect Password:="password"
Eu tenho duas colunas, E & G, que tem fórmulas neles, então eu tranquei essas colunas e protejei a folha em que elas estão. Eu tenho dois botões na folha, um Hide & Botão Unhide. Depois de bloquear essas colunas & protegendo a folha, as macros atribuídas a esses botões não funcionam mais. Quando eu seleciono os botões, recebo um erro em tempo de execução '1004', não é possível definir a propriedade oculta da classe Range. O código da macro é o seguinte:
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
Mostrar macro:
Sub UH()
'
' UH Macro
'
'
Rows("6:447").Select
Selection.EntireRow.Hidden = False
End Sub
Eu acho que tenho que adicionar um comando desprotegido, que eu tentei, mas parece que não funciona. Eu tentei:
Worksheets("JE").Unprotect Password:="ImportLCPA17", UserInterfaceOnly:=True
alguém sabe de quaisquer ajustes que eu possa fazer para ter esses hide & Mostrar as macros, vinculadas aos botões, funciona enquanto as colunas ainda estão bloqueadas?
Isso é o que funcionou para mim:
Para inicialmente desproteger a planilha:
Worksheets("name").Unprotect Password:="password"
Para proteger a folha novamente:
Worksheets("name").Protect Password:="password"
Tags microsoft-excel macros vba