Заблокировать доступ к определённому листу книги
Запаролить только один лист файла Excel





Стандартная защита умеет только блокировать ячейки на отдельно взятом листе, либо операции с листами, причём со всеми разом, что в работе бывает крайне неудобно.

MS Office для Windows

Все мои курсы

Шаблоны


Скачать файл
Смотреть курс
Теги: Вопрос-ответ по Excel.

Запаролить только один лист файла Excel

Стандартная защита умеет только блокировать ячейки на отдельно взятом листе, либо операции с листами, причём со всеми разом, что в работе бывает крайне неудобно.

Сейчас научимся защищать паролем доступ к одному листу файла, но чтобы с другими можно было свободно работать - вставлять, удалять, копировать и т.д.

Стандартные команды умеют:

А мы хотим заблокировать доступ только к одному листу, в идеале - паролем.

План действий.

1. Скачайте себе мой файл по кнопке внизу этой страницы, разрахивируйте.

2. В файле уже живёт макрос, который вынуждает Вас при открытии файла включить макросы (нажмите ALT+F11 и перейдите в модуль ThisWorkbook либо Эта книга, он там).

Логика следующая - при закрытии файла скрываются все рабочие листы и отображается служебный, предлагающий включить макросы.

При открытии файла, если макросы включены, то автоматически служебный лист скрывается, рабочие отображаются, но если макросы не включить, то и рабочих листов нет. В общем, выхода у пользователя нет, придётся нажать кнопку "Включить содержимое" ))

3. Попробуйте перейти на лист Секрет и файл запросит пароль. Пробуйте - при неверном вводе файл будет создавать новый лист и отправлять Вас туда. Но если ввести 111, то на листе Секрет Вы и останетесь.

4. В мой файл перебросьте листы из своей рабочей книги. Мой файл можете переименовать, как угодно, только расширение оставьте прежним.

5. Нажмите ALT+F11 и двойныйм щелчком по модулю листа Секрет перейдите в него. В правой части отобразится текст волшебного макроса.
Пароль измените на свой. Утешительный текст тоже можете переписать. Или же вообще выделите весь код этого макроса и скопируйте его в модуль того листа, который хотите заблокировать, а из текущего модуля удалите.

Вот и всё.

Коллеги, мой онлайн курс «Макросы на VBA с нуля» в Вашем полном распоряжении в любой момент, чтобы Вы диктовали Excel свои правила работы :)

 

Код макроса, скрывающего все листы при закрытии файла.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.EnableEvents = False
'отобразить справочный лист
Worksheets(1).Visible = True
'остальные скрыть
For i = 2 To Worksheets.Count
Worksheets(i).Visible = 2
Next i
Application.EnableEvents = True
End Sub

Код макроса, отображающего листа при открытии файла.

Private Sub Workbook_Open()
Application.EnableEvents = False
'отобразить рабочие листы
For i = 2 To Worksheets.Count
Worksheets(i).Visible = True
Next i
'скрыть справочный лист
Worksheets("1").Visible = 2
Application.EnableEvents = True
End Sub

Код макроса, запрашивающего пароль при переходе на заблокированный лист.

Private Sub Worksheet_Activate()
PS = InputBox("Для доступа к этому листу введите пароль")
If PS = 111 Then 'вместо 111 введите свой пароль (текстовый - в кавычках)
Exit Sub
Else
Set SH = Worksheets.Add 'вставить лист, на который отправить пользователя
'Текст в кавычках в строке ниже можете изменить или вообще удалите следующую строку.
SH.Range("A1") = "Пароль введён неверно, вот Вам другой лист - новый, чистый (в утешение)."
End If

End Sub

Полезные материалы

Гибрид числового и финансового формата
Идеальный формат ячейки
От числового возьмём разделитель групп разрядов, сбросим знаки после запятой, отрицательное выделим красным. А у финансового - возможность показывать ноль черточкой, как тире.

Переделка номеров текстовыми функциями
Исправление текста в ячейке с помощью текстовых функций
Как убрать лишние символы из ячеек формулой? Как разделить текст формулами? Как собрать текст в одну ячейку?

Macro-функция поиска заголовка по данным из таблицы
Function VBA Поиск заголовка
Разбираем различные задачи из реальной практики в Microsoft Excel и находим успешные решения. К примеру вложен файл с образцом, его можно скачать по кнопке.

Автоматическое сохранение копии файла при открытии
Макрос вместо F12 [Файл - Сохранить как]
Максимально сокращаем время на ручную работу. Даже в мелочах.

Мои ученики работают здесь

Я сотрудничаю с крупными известными компаниями. Вот некоторые из них:

ВТБ МегаФон Глобус Абсолют

Связаться с автором

Оставьте ваше имя и адрес электронной почты, в ближайшее время я свяжусь
с вами для консультации и отвечу на вопросы!



Оставляя заявку, вы соглашаетесь на обработку ваших персональных данных.