Принудительная повторная защита рабочего листа

Барри может заблокировать рабочий лист, чтобы редактировать его могли только те, кому он дает пароль. Если человек вводит пароль, вносит изменения, а затем сохраняет книгу, содержащую рабочий лист, этот рабочий лист становится незащищенным. Барри задается вопросом, есть ли способ, чтобы при сохранении рабочего листа Excel мог напомнить пользователю о необходимости еще раз защитить рабочий лист, используя тот же пароль, который использовался изначально.

Есть несколько способов решения проблемы. Эта проблема. Если вы назначили пароль для рабочего листа, вам просто нужно убедиться, что тот же пароль используется для повторной защиты рабочего листа при сохранении книги. Это легко сделать с помощью макроса, который можно привязать к событию BeforeSave. Этот макрос следует добавить к объекту ThisWorkbook:

Private Sub Workbook_BeforeSave (ByVal SaveAsUI As Boolean, Cancel As Boolean) Sheets («ABC»). Protect («XYZ») End Sub

В этом примере предполагается, что лист, который вы хотите защитить, называется ABC, а пароль, используемый для защиты листа, – XYZ. Вы захотите изменить эти значения, чтобы они отражали ваш фактический рабочий лист и пароль.

Обратите внимание, что этот макрос автоматически повторно защищает рабочий лист при сохранении книги. Таким образом, если пользователь имеет длительный сеанс работы с листом и в течение этого сеанса много раз сохраняет книгу, то ему придется снимать защиту с листа довольно часто. При желании вы можете создать макрос, который спросит, нужно ли повторно защитить рабочий лист:

Private Sub Workbook_BeforeSave (ByVal SaveAsUI As Boolean, Cancel As Boolean) If MsgBox («Reprotect Sheet ABC?» , vbYesNoCancel) = vbYes Then Sheets («ABC»). Protect («XYZ») End IfEnd Sub

Конечно, этот подход означает, что рабочий лист снова не будет защищен, если пользователь решил не повторно защищать его.

Другой подход вообще не предполагает использования макросов, но использует другой способ защиты. При традиционной защите рабочего листа вы форматируете отдельные ячейки как разблокированные, а затем применяете защиту к рабочему листу, чтобы заблокированные ячейки нельзя было изменить. Если вы не помечаете какие-либо ячейки как разблокированные (что похоже на то, что делает Барри), тогда ничто на листе не может быть изменено без пароля.

Excel фактически позволяет вам защищать отдельные диапазоны ячеек на листе. Выполните следующие действия:

  1. Отобразите вкладку «Обзор» на ленте.
  2. Щелкните «Разрешить пользователям изменять диапазоны». Excel отображает диалоговое окно «Разрешить пользователям изменять диапазоны». (См. Рис. 1.)
  3. Рисунок 1. Диалоговое окно «Разрешить пользователям редактировать диапазоны».

  4. Нажмите кнопку «Создать». Excel отображает диалоговое окно «Новый диапазон». (См. Рис. 2.)
  5. Рисунок 2. диалоговое окно New Range..

  6. В поле “Заголовок” введите имя, которое вы хотите использовать для этого диапазона.
  7. В поле “Ссылается на ячейки” введите диапазон, в котором пользователи должны иметь доступ. редактировать. (Если есть несколько диапазонов, в которых вы хотите использовать один и тот же пароль, вы можете разделить эти диапазоны запятой.)
  8. В поле Пароль диапазона введите пароль, который вы хотите дать своим пользователям.
  9. Щелкните ОК. Вас снова попросят ввести пароль.
  10. Введите пароль, который вы использовали на шаге 6, второй раз. Диапазон теперь отображается в диалоговом окне «Разрешить пользователям изменять диапазоны».
  11. Нажмите кнопку «ОК», чтобы закрыть диалоговое окно «Разрешить пользователям изменять диапазоны».
  12. Защитите свой рабочий лист, как вы обычно будет.

Есть только одна вещь, которую вам нужно помнить, когда вы защищаете свой рабочий лист (шаг 10). Поскольку вы не разблокировали ни одной ячейки, все ячейки на листе будут защищены. Вы должны убедиться, что применяемая защита позволяет выбирать заблокированные ячейки. Если после защиты рабочего листа пользователь пытается отредактировать ячейку, которая находится в диапазоне, который вы указали на шаге 5, ему будет предложено ввести пароль, который вы указали на шаге 6. Когда они предоставят его, они могут внести изменения в любые ячейки. в диапазоне.

В этом подходе замечательно то, что защита рабочего листа не удаляется – рабочий лист по-прежнему защищен, потому что пользователь никогда не снимал эту защиту. Таким образом, пользователю никогда не нужно знать пароль для всего рабочего листа. Когда пользователь закрывает и снова открывает книгу, лист по-прежнему защищен, как и вам нужно. Кроме того, у вас нет неизбежного недостатка макросов – они могут быть отключены пользователем при открытии книги.

Источник: frestage.ru

Бытовой вопрос