Есть ли способ ограничения заблокированных ячеек в Excel, выполняющих несколько макросов? - PullRequest
0 голосов
/ 30 января 2019

Мне нужна помощь с использованием макросов на защищенном листе.

Я новичок в коде Excel и создал один макрос.Однако в листе Excel я хочу, чтобы только определенные ячейки были доступны для редактирования.Весь лист имеет заблокированные ячейки, кроме тех, которые я хочу заблокировать.Однако после того, как я защищаю лист, мой единственный макрос больше не работает.Мне нужна помощь.Ниже приведен один макрос, который мне нужен, мне просто нужен еще один, чтобы позволить разблокированным ячейкам по-прежнему запускать макрос.

Это тот макрос, который у меня есть, который работает ...

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(False, False) = "B27" Then
    Select Case Target.Value
        Case "None": Rows("28:44").Hidden = True
        Case "Custom Packaging": Rows("29:35").Hidden = True: Rows("36:39").Hidden = False: Rows("40:44").Hidden = False
        Case "Stock Packaging": Rows("29:35").Hidden = False: Rows("36:39").Hidden = True: Rows("40:44").Hidden = False
    End Select
End If
End Sub

1 Ответ

0 голосов
/ 30 января 2019

Как сказал @Selkie, просто разблокируйте / заблокируйте лист по мере необходимости:

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Address(False, False) = "B27" Then

        ActiveSheet.Unprotect "mypassword"

        Select Case Target.Value
            Case "None": Rows("28:44").Hidden = True
            Case "Custom Packaging": Rows("29:35").Hidden = True: Rows("36:39").Hidden = False: Rows("40:44").Hidden = False
            Case "Stock Packaging": Rows("29:35").Hidden = False: Rows("36:39").Hidden = True: Rows("40:44").Hidden = False
        End Select

        ActiveSheet.Protect "mypassword"

    End If

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...