Excel VBA Unprotect Sheet

У Excel у нас є можливість, завдяки якій ми можемо захистити наші аркуші та файли Excel від видалення, перейменування та збереження даних від будь-яких інших змін, які не потрібні. Цей параметр називається Protect Sheet and Protect Workbook, який знаходиться в розділі " Зміни " в стрічці меню " Огляд" . Ми можемо встановити пароль, за допомогою якого можна зберегти вибраний аркуш від будь-яких внесених змін. Але що я кажу, це також можна автоматизувати за допомогою коду VBA. Так, ми можемо створити код або макрос, за допомогою яких можна автоматично заблокувати аркуш і робочу книжку. Але ця стаття стосується незахисту аркуша.

Зняття захисту аркуша також є досить простим процесом, як захист листа. Щоб зняти захист аркуша, нам потрібно ввести пароль, який ми використовували під час блокування цього аркуша. Щоб зняти захист аркуша, нам просто потрібно вибрати назву робочого аркуша та функцію під назвою Unprotect . Якщо це доступно у VBA, то це лише однорядковий код. Але якщо це не так, то нам потрібно шукати якийсь інший спосіб зробити це, який ми побачимо на наведених нижче прикладах.

Як зняти захист аркуша в Excel VBA?

Ми дізнаємось, як зняти захист аркуша в Excel за допомогою коду VBA.

Ви можете завантажити шаблон VBA Unprotect Sheet Excel тут - шаблон VBA Unprotect Sheet Excel

Аркуш незахищеної VBA - приклад №1

По-перше, ми побачимо простий приклад, щоб зняти захист аркуша. Для цього виконайте наведені нижче дії.

Крок 1. Спочатку відкрийте модуль на вкладці меню Вставка, як показано нижче.

Крок 2: Тепер запишіть підпроцедуру на аркуш VBA Unprotect. Або ми можемо вибрати будь-яке інше ім’я для його визначення.

Код:

 Sub VBA_Unprotect () Кінець Sub 

Крок 3: Визначте змінну під назвою Робочий лист будь-яким іменем. Переважно назва, яка нагадує робочий аркуш, такий як ExSheet

Код:

 Sub VBA_Unprotect () Dim ExSheet As End Workheet End Sub 

Крок 4: Тепер встановіть задану змінну робочого аркуша з назвою Листа, який ми хочемо зняти. Тут назва цього аркуша - Sheet1 .

Код:

 Sub VBA_Unprotect () Dim ExSheet як набір робочого листа ExSheet = Листи ("Sheet1") Кінець Sub 

Крок 5: Тепер призначте функцію Unprotect, яка є в розкривному списку VBA, змінної робочого листа ExSheet .

Код:

 Sub VBA_Unprotect () Dim ExSheet As Set Worksheet ExSheet = Робочі листи ("Sheet1") ExSheet.Unprotect End Sub 

Крок 6: Тепер дайте пароль, який ми дали для блокування цього аркуша. Тут цей пароль "Open1212". І це може бути будь-що, що залежить від вибору користувача.

Код:

 Sub VBA_Unprotect () Dim ExSheet As Set Worksheet ExSheet = Worksheets ("Sheet1") ExSheet.Unprotect Пароль: = "Open1212" End Sub 

Крок 7: Тепер спочатку ми захистимо Sheet1, натиснувши вкладку меню « Огляд » та вибравши параметр « Захистити аркуш» .

Крок 8: Введіть потрібний вам пароль і натисніть кнопку ОК, щоб захистити аркуш.

Крок 9: Повторно введіть пароль для підтвердження.

Крок 10: Після того, як буде зроблено, ми бачимо, що ми не можемо нічого змінити в цьому листі, навіть якщо ми намагаємося. Тепер, щоб зняти захист аркуша, ми складемо наш письмовий код і запустимо його.

Ми побачимо, як тільки наш код буде виконаний, ми тепер можемо внести будь-які зміни в Sheet1 .

Крок 11: Що робити, якщо ми видалимо або змінимо рядок коду, куди ми вставили пароль, і зробимо його до функції Unprotect, як показано нижче. Подивимося, що буде, якщо ми це зробимо.

Код:

 Sub VBA_Unprotect () Dim ExSheet As Set Worksheet ExSheet = Робочі листи ("Sheet1") ExSheet.Unprotect End Sub 

Крок 12: Тепер знову запустіть повний код. Ми побачимо, з'явиться вікно з повідомленням, яке попросить ввести пароль. Введіть тут пароль, який ми вибрали, захищаючи аркуш, і натисніть кнопку Ок.

З цим процесом ми також можемо захистити потрібний аркуш.

Аркуш незахищеної VBA - приклад №2

Існує й інший спосіб захистити робочі аркуші. Це найпростіший і найпростіший спосіб зробити це. Для цього виконайте наступні кроки:

Крок 1: Напишіть підпроцедуру для захисту VBA Unprotect, як показано нижче.

Код:

 Sub VBA_Unprotect2 () Кінець Sub 

Крок 2: Використовуйте функцію «Листи» та виберіть аркуш, який ми хочемо зняти. Тут знову цей аркуш - Sheet1 .

Код:

 Sub VBA_Unprotect2 () Робочі таблиці ("Sheet1") Кінець Sub 

Крок 3: Аналогічним чином, як показано в прикладі-1, ми будемо використовувати команду Unprotect разом із паролем, який ми використовували під час блокування аркуша. Тут наш пароль для заборони захисту також такий самий, як " Open1212 ".

Код:

 Sub VBA_Unprotect2 () Робочі таблиці ("Sheet1"). Зняти захист пароля: = "Open1212" Кінець Sub 

Тепер наш код завершено. Щоб перевірити це, спочатку захистіть аркуш так само, як ми це зробили в прикладі-1, і запустіть цей код, щоб його захистити.

Аркуш незахищеної VBA - приклад №3

Що робити, якщо я скажу, ми можемо знову написати код, де нам не потрібно вибирати назву аркуша, який ми хочемо захистити. Так, це можна зробити за допомогою петлі. Для цього виконайте наступні кроки:

Крок 1: Знову для цього відкрийте модуль і запишіть підпроцедуру на аркуш VBA Unprotect, як показано нижче.

Код:

 Sub VBA_Unprotect3 () Кінець Sub 

Крок 2: Використання DIM для визначення змінної для робочого листа, як Exsheet. Це той самий рядок, який ми використовували у вищенаведених прикладах.

Код:

 Sub VBA_Unprotect3 () Dim ExSheet As End Workheet End Sub 

Крок 3: Відкрийте цикл For-Next, де ми запишемо умови незахищеного аркуша.

Код:

 Sub VBA_Unprotect3 () Dim ExSheet як робочий лист для наступного кінця ExSheet Sub 

Крок 4: Напишіть умову для кожної відкритої активної робочої книги, вибираючи поточний активний робочий аркуш, як показано нижче.

Код:

 Sub VBA_Unprotect3 () Dim ExSheet як робочий аркуш для кожного ExSheet в ActiveWorkbook.Worksheets Next ExSheet End Sub 

Крок 5: Тепер аналогічним чином, як це було показано у вищенаведених прикладах, ми використовуватимемо визначені змінні разом із функцією Unprotect для зняття захисту аркуша. Тут також ми можемо або не можемо використовувати пароль. Це необов’язковий спосіб.

Код:

 Sub VBA_Unprotect3 () Dim ExSheet як робочий лист для кожного ExSheet в ActiveWorkbook.Worksheets ExSheet.Unprotect Пароль: = "Open1212" Наступний кінець ExSheet Sub 

Складіть код і запустіть, якщо помилки не знайдено.

Ось так ми можемо захистити будь-який відкритий поточний робочий аркуш, навіть не вибираючи його ім'я та послідовність. Цей код автоматично враховує той аркуш, який наразі обраний та відкритий.

Плюси незахищеного листа Excel VBA

  • Наведені вище процеси та приклади найпростіші у застосуванні.
  • Ми можемо захистити аркуш обома способами, вказавши сам пароль у коді або не надавши пароль.
  • Це працює так само, як ми вручну знімаємо захист аркуша.

Що потрібно пам’ятати

  • Оскільки процес досить простий у здійсненні, тому автоматичного вдосконалення може не відбутися.
  • Ми можемо змінювати пароль щоразу, коли повторюємо процес захисту та захисту від аркуша.
  • Ми можемо вибрати назву аркуша або послідовність аркуша, який ми хочемо зняти з нього.
  • Після цього збережіть код у Macro, щоб увімкнути робочий лист excel для захисту втрати коду VBA.

Рекомендовані статті

Це посібник щодо незахищеного листа VBA. Тут ми обговорюємо, як зняти захист листа в Excel за допомогою коду VBA разом із практичними прикладами та шаблоном Excel, який можна завантажити. Ви також можете ознайомитися з іншими запропонованими нами статтями -

  1. Загальна змінна VBA (приклади)
  2. Номер формату VBA з функцією
  3. Варіант VBA з типами даних
  4. VBA Randomize | Шаблони Excel
  5. VBA Environment

Категорія: