Іноді вам потрібно надіслати книгу Excel у світ із захищеними певними аркушами. Якщо ви виявите, що постійно захищаєте та знімаєте захист аркушів перед розповсюдженням своїх робочих книг, макрос тут може допомогти вам.
Як працює макрос
Код ініціюється подією BeforeClose у книзі. Коли ви намагаєтеся закрити книгу, ця подія запускається, запускаючи код всередині. Макрос автоматично захищає вказаний аркуш заданим паролем, а потім зберігає книгу:
Приватна підпорядкована робоча книга_BeforeClose(Скасувати як логічне значення)
«Крок 1. Захистіть аркуш паролем
Sheets("Sheet1").Захист пароль:="RED"
«Крок 2: Збережіть робочу книгу
ActiveWorkbook.Save
Кінець суб
На кроці 1 ви чітко вказуєте, який аркуш захистити — у цьому випадку лист 1. Ви також надаєте аргумент пароля, Password:=”RED”, який визначає пароль, необхідний для зняття захисту.
Цей аргумент пароля необов’язковий. Якщо ви опустите його, аркуш все одно буде захищений, але вам не знадобиться пароль, щоб зняти його.
Паролі Excel чутливі до регістру, тому ви захочете звернути увагу на точний пароль і великі літери, які ви використовуєте.
Крок 2 повідомляє Excel про збереження книги. Якщо ви не збережете книгу, захист аркуша, який ви щойно застосували, не буде діяти під час наступного відкриття книги.
Як використовувати макрос
Щоб реалізувати цей макрос, вам потрібно скопіювати та вставити його у вікно коду події Workbook_BeforeClose. Розміщення макросу тут дозволяє йому запускатися щоразу, коли ви намагаєтеся закрити книгу:
Активуйте редактор Visual Basic, натиснувши Alt+F11.
У вікні проекту знайдіть назву проекту/книги та клацніть знак плюса біля нього, щоб побачити всі аркуші.
Натисніть Цей зошит.
У спадному списку «Подія» виберіть подію «До закриття».
Введіть або вставте код у щойно створений модуль, змінивши назву аркуша (за потреби) та пароль.
Введіть свій код у подію Workbook BeforeClose.
Зауважте, що ви можете захистити додаткові аркуші, додавши оператори додавання перед оператором Activeworkbook.Save.