Понякога трябва да изпратите вашата работна книга на Excel в света със защитени конкретни работни листове. Ако установите, че постоянно защитавате и премахвате защитата на листове, преди да разпространите работните си книги, макросът тук може да ви помогне.
Как работи макросът
Кодът се задейства от събитието BeforeClose на работната книга. Когато се опитате да затворите работната книга, това събитие се задейства, изпълнявайки кода вътре. Макросът автоматично защитава посочения лист с дадена парола и след това записва работната книга:
Частна под работна книга_BeforeClose(Отказ като булева)
„Стъпка 1: Защитете листа с парола
Sheets("Sheet1").Protect Password:="RED"
„Стъпка 2: Запазете работната книга
ActiveWorkbook.Save
Край под
В стъпка 1 изрично указвате кой лист да защитите — в този случай Sheet1. Вие също така предоставяте аргумента за парола, Password:=”RED”, който дефинира паролата, необходима за премахване на защитата.
Този аргумент за парола не е задължителен. Ако го пропуснете, листът пак ще бъде защитен, но няма да ви е необходима парола, за да премахнете защитата.
Паролите в Excel са чувствителни към малки и големи букви, така че ще искате да обърнете внимание на точната парола и главни букви, които използвате.
Стъпка 2 казва на Excel да запази работната книга. Ако не запазите работната книга, защитата на листа, която току-що приложихте, няма да бъде в сила следващия път, когато работната книга бъде отворена.
Как да използвате макроса
За да приложите този макрос, трябва да го копирате и поставите в прозореца с код на събитието Workbook_BeforeClose. Поставянето на макроса тук му позволява да се изпълнява всеки път, когато се опитате да затворите работната книга:
Активирайте редактора на Visual Basic, като натиснете Alt+F11.
В прозореца на проекта намерете името на вашия проект/работна книга и щракнете върху знака плюс до него, за да видите всички листове.
Щракнете върху Тази работна книга.
В падащия списък Събитие изберете събитието Преди затваряне.
Въведете или поставете кода в новосъздадения модул, като промените името на листа (ако е необходимо) и паролата.
Въведете кода си в събитието Workbook BeforeClose.
Имайте предвид, че можете да защитите допълнителни листове, като добавите изрази за добавяне преди оператора Activeworkbook.Save.