Если в процессе работы Вам приходится защищать лист, книгу и Вы не хотите использовать один и тот же пароль, то Вы можете генерировать пароль программно, используя нижеопубликованную функцию, которая имеет всего один аргумент, а именно количество символов в пароле.
Private Function ChildPassword$(LenPassword%)
Randomize 'Timer
ChildPassword = Space(LenPassword)
For iCount% = 1 To LenPassword
Mid(ChildPassword, iCount%, 1) = Chr(Rnd * 255) 'Chr(Int(Rnd * 256))
Next
End Function
Примеры использования:
MsgBox ChildPassword(25)
Лист1.Protect Password:=ChildPassword(25)
ActiveSheet.Protect Password:=ChildPassword(25)
Worksheets(1).Protect Password:=ChildPassword(25)
Worksheets("Лист1").Protect Password:=ChildPassword(25)
Не забывайте, что установка защиты не гарантирует сохранность всех конфиденциальных данных.