Защита Excel листов

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
F@n
Сообщения: 4
Зарегистрирован: 09 июл 2005, 13:10

Всем привет.
Подскажите, пожалуйста, как сделать следующее:
нужно поставить защиту на изменение данных в листах книги,
но таким образом, что бы макросы могли менять данные, т.е. изменять значения закрытых ячеек, вставлять и удалять строки с листа, а пользователь не мог этого сделать. Скажите, может есть какой-то способ, что бы более не менее красиво решить эту проблему.
Спасибо.
pashulka
Сообщения: 831
Зарегистрирован: 24 ноя 2004, 03:46
Контактная информация:

Есть один способ, необходимо использовать один из именованных аргументов метода .Protect, а именно UserInterfaceOnly

Вариант I. (расположите этот код в любом из стандартных модулей)

Код: Выделить всё

Private Sub Auto_Open()
Worksheets(1).Protect UserInterfaceOnly:=True
End Sub
Вариант II. (этот код необходимо расположить только в модуле ThisWorkbook/ЭтаКнига)

Код: Выделить всё

Private Sub Workbook_Open()
Worksheets(1).Protect UserInterfaceOnly:=True
End Sub
Примечание :
Защитить рабочий лист и установить пароль лучше заранее, в таком случае макрос не будет содержать пароль в открытом виде.
F@n
Сообщения: 4
Зарегистрирован: 09 июл 2005, 13:10

Большое спасибо, ваш совет очень помог.
Ответить