Что делает макрос: Бывает необходимость снять защиту со всех листов, обычно это делается вручную. Данный макрос автоматизирует это.
Как макрос работает
Этот макрос проходит цикл листов и использует аргумент пароль для снятия защиты листа.
Код макроса
Sub SnyatZaschituOdinParol()
'Шаг 1: Объявляем переменные
Dim ws As Worksheet
'Шаг 2: Запускаем цикл через все рабочие листы
For Each ws In ActiveWorkbook.Worksheets
'Шаг 3: Цикл до следующего рабочего листа
ws.UnProtect Password:="КРАСНЫЙ"
Next ws
End Sub
Как этот код работает
- Шаг 1 объявляет объект под названием WS. Это создает контейнер памяти для каждого рабочего листа.
- Шаг 2 запускается цикл через все рабочие листы в этой книге.
- Шаг 3 снимает защиту активного листа, обеспечивая пароль по мере необходимости, а затем возвращается обратно, чтобы получить рабочий лист.
Очевидно, что макрос будет работать, если все рабочие листы, которые должны быть незащищенными имеют один и тот же пароль. Если это не так, то вам нужно явно снять защиту каждый лист с соответствующим паролем.
Код макроса
Sub SnyatZaschituRaznieParoli()
Sheets("Лист1").UnProtect Password:="КРАСНЫЙ"
Sheets("Лист2").UnProtect Password:="СИНИЙ"
Sheets("Лист3").UnProtect Password:="ЖЕЛТЫЙ"
Sheets("Лист4").UnProtect Password:="ЗЕЛЕНЫЙ"
End Sub
Как использовать
- Активируйте редактор Visual Basic, нажав ALT + F11.
- Щелкните правой кнопкой мыши personal.xlb в окне Project.
- Выберите Insert➜Module.
- Введите или вставьте код во вновь созданном модуле.