Как защитить все листы в файле

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

Как макрос работает

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

Код макроса

Sub ZaschititVseListi()
 'Шаг 1: Объявляем переменные
 Dim ws As Worksheet
 'Шаг : Запускаем цикл через все рабочие листы
 For Each ws In ActiveWorkbook.Worksheets
 'Шаг 3: Ставим защиту и переходим к следующему листу
 ws.Protect Password:="КРАСНЫЙ"
 Next ws
 End Sub

Как работает этот код

  1. Шаг 1 объявляет объект под названием WS. Он создает контейнер памяти для каждого рабочего листа.
  2. Шаг 2 начинает процесс в Excel — проходит через все рабочие листы.
  3. На шаге 3, макрос применяет защиту с данным паролем, а затем возвращается обратно, чтобы получить рабочий лист.

Как использовать

  1. Активируйте редактор Visual Basic, нажав ALT + F11.
  2. Щелкните правой кнопкой мыши personal.xlb в окне Project.
  3. Выберите Insert➜Module.
  4. Введите или вставьте код во вновь созданном модуле.

Оцените статью
Добавить комментарий

  1. Андрей

    Огромное спасибо за проделанный труд. Для человека не понимающего в синтаксисе VBA это просто находка. Один Вопрос, при срабатывании макроса на защиту листа невозможно использовать фильтры «умной» таблицы на листах. Что нужно добавить в макрос чтоб было возможно менять ограничения в макросе, конкретно на использование автофильтров. Заранее спасибо.

    Ответить