Что делает макрос: Вы можете защитить все листы в файле
перед тем, как распространить свои книги.
Вместо того чтобы защищать каждый лист вручную, вы можете использовать этот макрос.
Как макрос работает
В этом макросе вы выбираете листы и просто применяете защиту с помощью пароля.
Пароль аргумент определяет пароль, необходимый для снятия защиты. Аргумент Пароль не является обязательным. Если его вообще опустить, лист по-прежнему будет защищен; вам просто не нужно будет вводить пароль для снятия его защиты. Кроме того, следует помнить, что пароли Excel чувствительны к регистру.
Код макроса
Sub ZaschititVseListi()
'Шаг 1: Объявляем переменные
Dim ws As Worksheet
'Шаг : Запускаем цикл через все рабочие листы
For Each ws In ActiveWorkbook.Worksheets
'Шаг 3: Ставим защиту и переходим к следующему листу
ws.Protect Password:="КРАСНЫЙ"
Next ws
End Sub
Как работает этот код
- Шаг 1 объявляет объект под названием WS. Он создает контейнер памяти для каждого рабочего листа.
- Шаг 2 начинает процесс в Excel — проходит через все рабочие листы.
- На шаге 3, макрос применяет защиту с данным паролем, а затем возвращается обратно, чтобы получить рабочий лист.
Как использовать
- Активируйте редактор Visual Basic, нажав ALT + F11.
- Щелкните правой кнопкой мыши personal.xlb в окне Project.
- Выберите Insert➜Module.
- Введите или вставьте код во вновь созданном модуле.
Огромное спасибо за проделанный труд. Для человека не понимающего в синтаксисе VBA это просто находка. Один Вопрос, при срабатывании макроса на защиту листа невозможно использовать фильтры «умной» таблицы на листах. Что нужно добавить в макрос чтоб было возможно менять ограничения в макросе, конкретно на использование автофильтров. Заранее спасибо.