Защита листа Vba Excel
Обновлено: 20.11.2024
выражение. Защитить (Пароль, Объекты рисования, Содержимое, Сценарии, UserInterfaceOnly, AllowFormattingCells, AllowFormattingColumns, AllowFormattingRows, AllowInsertingColumns, AllowInsertingRows< /em>, AllowInsertingHyperlinks, AllowDeletingColumns, AllowDeletingRows, AllowSorting, AllowFiltering, < em>Разрешить использование сводных таблиц)
выражение Переменная, представляющая объект Worksheet.
Параметры
Имя | Обязательный/Необязательный | Тип данных | Описание |
---|---|---|---|
Пароль | Необязательно | Вариант | Строка, указывающая пароль с учетом регистра для рабочего листа или рабочей книги. Если этот аргумент опущен, вы можете снять защиту листа или книги без использования пароля. В противном случае необходимо указать пароль, чтобы снять защиту с листа или книги. Если вы забудете пароль, вы не сможете снять защиту с листа или книги. |
Используйте надежные пароли, в которых сочетаются прописные и строчные буквы, цифры и символы. Слабые пароли не смешивают эти элементы. Надежный пароль: Y6dh!et5. Слабый пароль: House27. Пароли должны состоять из 8 и более символов. Лучше использовать парольную фразу, состоящую из 14 и более символов.
Примечания
В предыдущих версиях, если применить этот метод с аргументом UserInterfaceOnly, установленным в значение True, а затем сохранить книгу, весь лист (а не только интерфейс) будет полностью защищен при повторном открытии книги. Чтобы повторно включить защиту пользовательского интерфейса после открытия книги, необходимо снова применить этот метод, установив для параметра UserInterfaceOnly значение True.
Если вы хотите внести изменения в защищенный лист, можно использовать метод Protect для защищенного листа, если указан пароль. Кроме того, можно снять защиту листа, внести необходимые изменения, а затем снова защитить лист.
Незащищенный означает, что ячейка может быть заблокирована (диалоговое окно «Формат ячеек»), но включена в диапазон, определенный в диалоговом окне «Разрешить пользователям изменять диапазоны», и пользователь снял защиту с диапазона с помощью пароль или был проверен с помощью разрешений NT.
Поддержка и обратная связь
Есть вопросы или отзывы об Office VBA или этой документации? См. раздел Поддержка и отзывы об Office VBA, чтобы узнать, как получить поддержку и оставить отзыв.
В VBA есть метод PROTECT, который можно использовать с листом. В этом методе у вас есть возможность защитить лист паролем или без него. И вы также можете защитить объект от листа. Мы подробно рассмотрим все это в этом уроке.
В этом руководстве мы рассмотрим, как защитить и снять защиту с одного или нескольких листов с помощью кода VBA.
Напишите код VBA для защиты листа
Чтобы защитить лист, необходимо сначала указать лист, а затем использовать метод защиты. Вот шаги.
- Используйте объект листов, чтобы указать лист.
- Введите имя листа, который вы хотите защитить.
- Введите точку, чтобы получить список методов и свойств.
- Выберите метод защиты или введите его.
Напишите код VBA, чтобы снять защиту с листа
Чтобы защитить лист, необходимо сначала указать лист, а затем использовать метод снятия защиты. Вот шаги.
- Укажите лист с помощью объекта листа.
- Затем введите имя листа, который вы хотите защитить.
- Введите точку, чтобы получить список методов и свойств.
- Выберите метод «Снять защиту» или введите его.
Защитить лист паролем
Если вы хотите установить пароль при защите листа, в этом случае вам нужно использовать аргумент пароля для указания пароля. Допустим, если вы хотите установить пароль «test123» для листа для его защиты, код будет таким, как показано ниже.
Снять защиту листа паролем
Точно так же, если вы хотите снять защиту с листа, вам нужно указать пароль в аргументе пароля. Допустим, пароль, который вы использовали для защиты листа, — «ADSBP», поэтому код для снятия защиты будет таким, как показано ниже.
Есть одна вещь, о которой вам нужно позаботиться, позаботиться о заглавных буквах, поскольку VBA различает заглавные и строчные буквы.
Что еще нужно знать
Как я уже сказал, мы используем метод «Защита» VBA, и у этого метода есть аргументы, отличные от «Пароля», которые вы можете использовать.
Когда мы имеем дело с конфиденциальной информацией или данными, нам необходимо защитить рабочий лист от пользователя, чтобы редактировать данные, удалять данные и перемещать данные в Excel VBA. Если пользователь хочет видеть данные на рабочем листе, у пользователя должен быть пароль для просмотра данных на рабочем листе. Нам нужно защитить рабочий лист в конце процедуры после внесения изменений в рабочий лист с помощью VBA. Если вы забыли пароль, вы не сможете снять защиту с рабочего листа.
В этой теме:
Почему мы используем метод защиты рабочего листа с помощью VBA?
Если на рабочем листе есть конфиденциальные данные для работы с конфиденциальной информацией или данными, нам необходимо защитить рабочий лист в Excel VBA, используя метод защиты объекта рабочего листа. Вы должны защитить всю свою рабочую таблицу, тогда только авторизованные пользователи смогут просматривать или изменять данные.
Метод VBA Protect Worksheet — Синтаксис
Вот синтаксис для защиты рабочего листа с помощью VBA.
Рабочие листы («Имя вашего рабочего листа»). Защитить(
[Пароль], [DrawingObjects], [Содержание], [Сценарии], [UserInterfaceOnly], [AllowFormattingCells], [AllowFormattingColumns], [AllowFormattingRows], [AllowInsertingColumns], [AllowInsertingRows], [AllowInsertingHyperlinks], [AllowDeletingColumns] , [AllowDeletingRows], [AllowSorting], [AllowFiltering], [AllowUsingPivotTables])
Где
Пароль: Необязательный параметр. Он указывает пароль с учетом регистра для рабочего листа. Если этот параметр не указан, рабочий лист будет заблокирован без пароля, и при снятии защиты у пользователя не будет запрашиваться пароль. Если вы хотите снять защиту с защищенного рабочего листа, вы должны указать свой пароль.
DrawingObjects: его необязательный параметр и ввод логического типа. Значение по умолчанию — ИСТИНА. Если значение равно True, оно позволяет защитить все фигуры на листе.
Содержимое: его необязательный параметр и ввод логического типа. Значение по умолчанию — ИСТИНА. Если значение TRUE, чтобы защитить содержимое рабочего листа, кроме тех ячеек или диапазона, которые установлены как «Разблокировано».
Сценарии: его необязательный параметр и ввод логического типа. Значение по умолчанию верно. Если значение равно True, это защищает сценарии.
UserInterfaceOnly : его необязательный параметр и ввод логического типа. Если значение равно True, чтобы защитить пользовательский интерфейс, но не макросы. Если этот параметр опущен, защита применяется как к макросам, так и к пользовательскому интерфейсу.
AllowFormattingCells: необязательный параметр и ввод логического типа. Значение по умолчанию — ЛОЖЬ. Если значение равно TRUE, пользователь может форматировать любую ячейку на защищенном листе.
AllowFormattingColumns: его необязательный параметр и ввод логического типа. Значение по умолчанию — ЛОЖЬ. Если значение равно TRUE, пользователь может форматировать любой столбец на защищенном листе.
AllowFormattingRows: необязательный параметр и ввод логического типа. Значение по умолчанию — ЛОЖЬ. Если значение равно TRUE, пользователь может форматировать любую строку защищенного рабочего листа.
AllowInsertingColumns: его необязательный параметр и ввод логического типа. Значение по умолчанию — ЛОЖЬ. Если значение равно TRUE, пользователь может вставить столбец в защищенный рабочий лист.
AllowInsertingRows: необязательный параметр и вход логического типа. Значение по умолчанию — ЛОЖЬ. Если значение равно TRUE, пользователь может вставлять строки в защищенный рабочий лист.
AllowInsertingHyperlinks: необязательный параметр и ввод логического типа. Значение по умолчанию — ЛОЖЬ. Если значение равно TRUE, пользователь может вставлять гиперссылки на защищенный рабочий лист.
AllowDeletingColumns: его необязательный параметр и ввод логического типа. Значение по умолчанию — ЛОЖЬ. Если значение равно TRUE, пользователь может удалить столбцы из защищенного листа.
AllowDeletingRows: необязательный параметр и вход логического типа. Значение по умолчанию — ЛОЖЬ. Если значение равно TRUE, пользователь может удалять строки из защищенного рабочего листа.
AllowSorting: его необязательный параметр и ввод логического типа. Значение по умолчанию — ЛОЖЬ. Если значение TRUE, это позволяет пользователю сортировать данные на защищенном листе.Примечание. Чтобы применить сортировку, каждая ячейка в диапазоне должна быть разблокирована.
AllowFiltering: необязательный параметр и вход логического типа. Значение по умолчанию — ЛОЖЬ. Это позволит пользователю изменять критерии фильтрации, но не может включать или отключать параметр АВТОФИЛЬТР на листе. Пользователям разрешено просто изменять различные фильтры на уже существующем автофильтре.
AllowUsingPivotTables: необязательный параметр и ввод логического типа. Значение по умолчанию — ЛОЖЬ. Если значение TRUE, это позволяет пользователю использовать отчеты сводной таблицы на защищенном рабочем листе.
В приведенном выше синтаксисе мы используем метод «Защитить» объекта «Рабочий лист» для защиты рабочего листа.
Метод VBA Protect Worksheet — без пароля
Пожалуйста, найдите приведенный ниже пример. Он покажет вам, как защитить рабочий лист без пароля.
Объяснение. В приведенном выше примере мы защищаем рабочий лист без пароля, используя метод «Защитить» объекта «Рабочий лист» на рабочем листе с именем «Лист1». В приведенной выше процедуре мы не предоставляем никакого пароля, поэтому рабочий лист будет заблокирован для редактирования. При снятии защиты с того же рабочего листа не будет запрашиваться пароль для снятия защиты с рабочего листа.
Метод защиты рабочего листа VBA — с помощью пароля
Вот пример защиты рабочего листа паролем.
Объяснение. В приведенном выше примере мы защищаем рабочий лист паролем, используя метод «Защитить» объекта «Рабочий лист» на рабочем листе с именем «Лист1». Когда рабочий код рабочего листа защищен паролем, если вы хотите внести какие-либо изменения в код, сначала вам нужно снять защиту пароля в начале процедуры, а в конце процедуры вы должны снова защитить его. При снятии защиты с того же рабочего листа будет запрашиваться пароль для снятия защиты с рабочего листа.
Метод VBA Protect Worksheet: Инструкции
Пожалуйста, следуйте приведенным ниже пошаговым инструкциям, чтобы выполнить вышеупомянутые макросы или коды VBA:
По умолчанию все ячейки заблокированы, но это не вступит в силу, пока вы не защитите рабочий лист. Когда вы защищаете лист, все ячейки блокируются, кроме тех, которые вы специально разблокировали.
Чтобы снять защиту, в зависимости от того, был ли предоставлен пароль во время защиты.
Если пароль не указан, вы можете снять защиту с листа или книги, не указывая пароль.
Предупреждение |
---|
Если вы забудете пароль, вы не сможете снять защиту с листа или книги. |