Разрешить запуск макросов Excel на защищенном листе - PullRequest
0 голосов
/ 02 октября 2019

У меня есть следующий макрос, который не может работать при защите листа.

Sub ConditionalDisplay()
    With Worksheets("Data Entry")
    If .Range("C13") = "" Then
        .Rows("14:15").Hidden = True
      Else
        .Rows("14").Hidden = .Range("C13") = "lbs/gal"
        .Rows("15").Hidden = .Range("C13") = "g/L"
    End If

    If .Range("C17") = "" Then
        .Rows("18:19").Hidden = True
        Else
            .Rows("18").Hidden = .Range("C17") = "lbs/gal"
            .Rows("19").Hidden = .Range("C17") = "g/L"
    End If
End With
End Sub

Если он не защищен, он работает нормально, но защита листа приводит к ошибке при открытии книги, так какподпрограмма вызывается при открытии книги. Я видел пару сайтов, которые ссылаются на "Me.Protect Userinterfaceonly:=true", но до сих пор это не сработало для меня.

Есть какие-нибудь предложения?

1 Ответ

0 голосов
/ 03 октября 2019

Для тех, кто интересуется, вот решение:

Private Sub Workbook_Open()
    Worksheets("Data Entry").Protect Userinterfaceonly:=True
    Worksheets("Data Entry").Range("C6:C10") = ""
    Worksheets("Data Entry").Range("C12:C15") = ""
    Worksheets("Data Entry").Range("C17:C19") = ""
ConditionalDisplay
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...