У меня есть два столбца, E & G, в которых есть формулы, поэтому я заблокировал эти столбцы и защитил лист, в котором они находятся. У меня есть две кнопки на листе, кнопка «Скрыть и показать». После блокировки этих столбцов и защиты листа эти макросы, назначенные этим кнопкам, больше не работают. Когда я выбираю кнопки, я получаю ошибку во время выполнения «1004», неспособную установить свойство Hidden класса Range. Код макроса выглядит следующим образом:

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 ответ1

0

Вот что сработало для меня:

Первоначально снять защиту листа: Worksheets("name").Unprotect Password:="password"

Чтобы снова защитить лист:Worksheets("name").Protect Password:="password"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .