Доступ к паролю заблокирован лист - Excel - PullRequest
0 голосов
/ 12 декабря 2018

Приведенный ниже код ограничивает доступ, скрывая лист, если не введен пароль.Если он введен правильно, лист можно просмотреть на отдельных вкладках.Тем не менее, он не позволит мне просмотреть, а затем отредактировать лист.

Можно ли настроить это так, чтобы пользователь мог ввести пароль, а затем просмотреть и отредактировать лист?

Private Sub Workbook_Open()
Sheets("Sheet1").Visible = xlSheetHidden
End Sub

Public ViewAccess As Boolean       'In restricted sheet's activate event
Private Sub Worksheet_Activate()
If ViewAccess = False Then
Me.Visible = xlSheetHidden
Response = Application.InputBox("Password", xTitleId, "", Type:=2)
    If Response = "123" Then
        Me.Visible = xlSheetVisible
        Application.EnableEvents = True
        ViewAccess = True
    End If
End If
End Sub

1 Ответ

0 голосов
/ 12 декабря 2018

Следующий код поможет вам.Когда пользователь выберет лист с именем HiddenSheet, он запросит пароль.Если пароль верный, тогда он позволит редактировать данные, в противном случае автоматически перейдет на предыдущий лист. Вам необходимо изменить HiddenSheet для имени листа.

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim MySheetName As String

MySheetName = "HiddenSheet" 'The sheed which I want to hide.

If Application.ActiveSheet.Name = MySheetName Then
    Application.EnableEvents = False
    Application.ActiveSheet.Visible = False
    response = Application.InputBox("Password", "Enter Password", "", Type:=2)

        If response = "123456" Then 'Unhide Password.
            Application.Sheets(MySheetName).Visible = True
            Application.Sheets(MySheetName).Select
        End If
End If

Application.Sheets(MySheetName).Visible = True

Application.EnableEvents = True
End Sub

Код пропущен:

enter image description here

...