Собрал с миру по нитке макрос: при занесении в ячейку А1 число 1 макрос снимает защиту с листов и книги (с отображением скрытого листа), при удалении значения защита устанавливается (со скрытием одного листа).
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Dim nR As Long Dim nC As Integer
nR = Target.Row nC = Target.Column
If nR = 1 And nC = 1 And Target = "1" Then ОтображениеСкрытыхЛистов If nR = 1 And nC = 1 And Target = "" Then СкрытиеЛистов End Sub
[/vba]
[vba]
Код
Sub ОтображениеСкрытыхЛистов() ActiveWorkbook.Unprotect "смак456" Dim a For Each a In Worksheets a.Visible = True Next Application.ScreenUpdating = False Dim wSheet As Worksheet For Each wSheet In Worksheets If wSheet.ProtectContents = True Then wSheet.Unprotect Password:=смак456 End If Next wSheet Application.ScreenUpdating = True End Sub
[/vba]
[vba]
Код
Sub СкрытиеЛистов() Dim ws As Worksheet For Each myObj In ActiveWorkbook.Worksheets myObj.Protect "смак456", Contents:=True, Scenarios:=True _ , AllowFormattingCells:=True, AllowFormattingColumns:=True, _ AllowFormattingRows:=True, AllowInsertingRows:=True Next Sheets("Даты").Visible = xlSheetVeryHidden ' Сделать супер скрытый лист ActiveWorkbook.Protect "смак456" End Sub
[/vba]
Когда в тестовом режиме пароль был 0 проблем не было. Когда поставил пароль "смак456" при снятии защиты (то есть если ставлю цифру 1 в ячейке А1) ругается на строку второго макроса [vba]
Код
wSheet.Unprotect Password:=смак456
[/vba] Пишет: Неверный пароль. Убедитесь, что отключена клавиша Caps lock и используется правильный регистр.
Подскажите, пожалуйста, в чем ошибка?
Добрый день, участникам форума!
Собрал с миру по нитке макрос: при занесении в ячейку А1 число 1 макрос снимает защиту с листов и книги (с отображением скрытого листа), при удалении значения защита устанавливается (со скрытием одного листа).
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Dim nR As Long Dim nC As Integer
nR = Target.Row nC = Target.Column
If nR = 1 And nC = 1 And Target = "1" Then ОтображениеСкрытыхЛистов If nR = 1 And nC = 1 And Target = "" Then СкрытиеЛистов End Sub
[/vba]
[vba]
Код
Sub ОтображениеСкрытыхЛистов() ActiveWorkbook.Unprotect "смак456" Dim a For Each a In Worksheets a.Visible = True Next Application.ScreenUpdating = False Dim wSheet As Worksheet For Each wSheet In Worksheets If wSheet.ProtectContents = True Then wSheet.Unprotect Password:=смак456 End If Next wSheet Application.ScreenUpdating = True End Sub
[/vba]
[vba]
Код
Sub СкрытиеЛистов() Dim ws As Worksheet For Each myObj In ActiveWorkbook.Worksheets myObj.Protect "смак456", Contents:=True, Scenarios:=True _ , AllowFormattingCells:=True, AllowFormattingColumns:=True, _ AllowFormattingRows:=True, AllowInsertingRows:=True Next Sheets("Даты").Visible = xlSheetVeryHidden ' Сделать супер скрытый лист ActiveWorkbook.Protect "смак456" End Sub
[/vba]
Когда в тестовом режиме пароль был 0 проблем не было. Когда поставил пароль "смак456" при снятии защиты (то есть если ставлю цифру 1 в ячейке А1) ругается на строку второго макроса [vba]
Код
wSheet.Unprotect Password:=смак456
[/vba] Пишет: Неверный пароль. Убедитесь, что отключена клавиша Caps lock и используется правильный регистр.