Здравствуйте!
Помогите, пожалуйста, переделать макрос:
Лист предупреждения все также скрывается, при соглашении включения макросов.
Сейчас все листы отображаются только двоим сотрудникам, остальным первые две.
Нужно чтобы всем отображалась только первая страница, определенным пользователям две страницы, и еще пару пользователям все страницы, кроме Предупреждения.
Помогите, пожалуйста, переделать макрос:
Код |
---|
Private Sub Workbook_BeforeClose(Cancel As Boolean) 'скрываем все листы, кроме листа ПРЕДУПРЕЖДЕНИЕ Worksheets("Предупреждение").Visible = True For Each sh In ThisWorkbook.Worksheets If sh.Name = "Предупреждение" Then sh.Visible = True Else sh.Visible = xlSheetVeryHidden End If Next sh 'сохраняемся перед выходом ActiveWorkbook.Save End Sub Private Sub Workbook_Open() Dim wsSh As Object For Each wsSh In Me.Sheets Protect_for_User_Non_for_VBA wsSh Next wsSh For Each sh In ThisWorkbook.Worksheets sh.Visible = True Next sh If Environ("USERNAME") <> "Первый" And Environ("USERNAME") <> "Второй" Then 'если пользователя не зовут Worksheets("Настройки").Visible = False 'скрываем Настройки Worksheets("Сотрудники").Visible = xlVeryHidden 'делаем лист Сотрудники суперскрытым End If 'скрываем листы ПРЕДУПРЕЖДЕНИЕ Worksheets("Предупреждение").Visible = xlSheetVeryHidden End Sub Sub Protect_for_User_Non_for_VBA(wsSh As Worksheet) wsSh.Protect Password:="12345", UserInterfaceOnly:=True End Sub |
Сейчас все листы отображаются только двоим сотрудникам, остальным первые две.
Нужно чтобы всем отображалась только первая страница, определенным пользователям две страницы, и еще пару пользователям все страницы, кроме Предупреждения.