Лист защищен, лишнее от посторонних глаз спрятано :-) [vba]
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean) SkrImen SkrListy ThisWorkbook.Saved = True End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) SkrImen SkrListy Cancel = True End Sub
Private Sub Workbook_Open() SkrImen SkrListy End Sub
Sub SkrListy() Лист7.Visible = -1 Лист7.Protect Password:="123", UserInterfaceOnly:=True For Each sh_ In Me.Worksheets jjj = sh_.CodeName If sh_.CodeName <> "Лист7" Then sh_.Visible = 2 End If Next sh_ End Sub
Sub PokListy() For Each sh_ In Me.Worksheets jjj = sh_.CodeName If sh_.CodeName <> "Лист7" Then sh_.Visible = -1 End If Next sh_ End Sub
Sub SkrImen() For Each n_ In Me.Names n_.Visible = False Next n_ End Sub
Sub PokImen() For Each n_ In Me.Names n_.Visible = True Next n_ End Sub
[/vba] Но вылезла одна проблема, все рабочие макросы, которые в том числе прячут лишнее или включают отключают диспетчер имен видны в книге макросов.
Можно как-то дописать код, чтоб макросы были видны, только когда снята защита листа?
Лист защищен, лишнее от посторонних глаз спрятано :-) [vba]
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean) SkrImen SkrListy ThisWorkbook.Saved = True End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) SkrImen SkrListy Cancel = True End Sub
Private Sub Workbook_Open() SkrImen SkrListy End Sub
Sub SkrListy() Лист7.Visible = -1 Лист7.Protect Password:="123", UserInterfaceOnly:=True For Each sh_ In Me.Worksheets jjj = sh_.CodeName If sh_.CodeName <> "Лист7" Then sh_.Visible = 2 End If Next sh_ End Sub
Sub PokListy() For Each sh_ In Me.Worksheets jjj = sh_.CodeName If sh_.CodeName <> "Лист7" Then sh_.Visible = -1 End If Next sh_ End Sub
Sub SkrImen() For Each n_ In Me.Names n_.Visible = False Next n_ End Sub
Sub PokImen() For Each n_ In Me.Names n_.Visible = True Next n_ End Sub
[/vba] Но вылезла одна проблема, все рабочие макросы, которые в том числе прячут лишнее или включают отключают диспетчер имен видны в книге макросов.
Можно как-то дописать код, чтоб макросы были видны, только когда снята защита листа? heaven33rus
"Ваши" макросы (если их используете не вы) - вообще никогда не должны быть видны в Alt+F8 для этого можете задействовать любые варианты: приват, фейк-параметры, использование как функции... А для "есть защита - макросов нет, нет защиты - макросы есть" - дополняйте модель "GUI-макросами-заглушками". По событиям/действиям...
"Ваши" макросы (если их используете не вы) - вообще никогда не должны быть видны в Alt+F8 для этого можете задействовать любые варианты: приват, фейк-параметры, использование как функции... А для "есть защита - макросов нет, нет защиты - макросы есть" - дополняйте модель "GUI-макросами-заглушками". По событиям/действиям...AndreTM