Excel VBA Unprotect Sheet

Имаме опция в Excel, чрез която можем да защитим нашите Excel листове и файлове от изтриване, преименуване и от запазване на данните от всякакви други промени, които не са необходими. Опцията се нарича Protect Sheet и Protect Workbook, която се намира в секцията Промени в лентата на менюто Преглед . Можем да зададем парола, с която можем да запишем избрания лист от всякакви направени промени. Но това, което казвам, това може да се автоматизира и с помощта на VBA код. Да, можем да създадем код или макрос, чрез който можем автоматично да заключим листа и работната книга. Но тази статия се отнася до Незащитата на листа.

Отстраняването на защитата на листа също е доста лесен процес като защита на листа. За да защитим листа, трябва да въведем паролата, която използвахме, докато заключваме този лист. За да премахнете защитата на листа, просто трябва да изберете името на работния лист и функцията, наречена Unprotect . Ако това е налично в VBA, това е просто едноредов код. Но ако не е, тогава трябва да потърсим някакъв друг начин да го направим, който ще видим в следващите примери.

Как да премахнете защитата на Sheet в Excel VBA?

Ще научим как да премахнете защитата на Sheet в Excel с помощта на кода VBA.

Можете да изтеглите този шаблон на VBA Unprotect Sheet Excel тук - VBA Unprotect Sheet Excel шаблон

VBA Unprotect Sheet - Пример №1

Първо, ще видим прост пример за премахване на защитата на листа. За това следвайте стъпките по-долу:

Стъпка 1: Първо отворете модул от раздела на менюто Вмъкване, както е показано по-долу.

Стъпка 2: Сега напишете подпроцедура на листа VBA Unprotect. Или можем да изберем всяко друго име, за да го определим.

Код:

 Sub VBA_Unprotect () Край Sub 

Стъпка 3: Определете променлива, наречена Работен лист, от всяко име. За предпочитане името, което наподобява работен лист като ExSheet

Код:

 Sub VBA_Unprotect () Dim ExSheet като работен лист End Sub 

Стъпка 4: Сега след това задайте дефинираната променлива на работния лист с името на листа, който искаме да премахнем защитата. Ето, името на този лист е Sheet1 .

Код:

 Sub VBA_Unprotect () Dim ExSheet As Setheet Set ExSheet = Работни листове ("Sheet1") End Sub 

Стъпка 5: Сега присвойте Unprotect функция, която има в падащия списък VBA на променливата ExSheet на работния лист.

Код:

 Sub VBA_Unprotect () Dim ExSheet като набор от работни листове ExSheet = работни листове ("Sheet1") ExSheet.Unprotect End Sub 

Стъпка 6: Сега дайте паролата, която дадохме за заключване на този лист. Тук тази парола е „Open1212“. И това може да бъде всичко, което зависи от избора на потребителя.

Код:

 Под VBA_Unprotect () Dim ExSheet като набор от работни листове ExSheet = Работни листове ("Sheet1") ExSheet.Unprotect Password: = "Open1212" End Sub 

Стъпка 7: Сега първо ще защитим Sheet1, като щракнем върху раздела меню Преглед и изберете опцията Защита на листа .

Стъпка 8: Въведете желаната от нас парола и щракнете върху ОК, за да защитите листа.

Стъпка 9: Въведете отново паролата за потвърждение.

Стъпка 10: След като направим, ще видим, ние не можем да променим нищо в този лист, дори и да се опитаме да го направим. Сега, за да премахнете защитата на листа, ще съставим нашия писмен код и ще го изпълним.

Ще видим, след като кодът ни се изпълни, вече сме в състояние да направим промени в Sheet1 .

Стъпка 11: Какво става, ако премахнем или променим реда на кода, където сме вмъкнали паролата, и я направим до Unprotect функция, както е показано по-долу. Нека видим какво ще се случи, ако го направим.

Код:

 Sub VBA_Unprotect () Dim ExSheet като набор от работни листове ExSheet = работни листове ("Sheet1") ExSheet.Unprotect End Sub 

Стъпка 12: Сега отново стартирайте пълния код. Ще видим, ще се появи поле за съобщение, което ще поиска да въведете паролата. Попълнете тук паролата, която сме избрали, докато защитавате листа и щракнете върху Ок.

С този процес също можем да защитим листа, който искаме.

VBA Unprotect Sheet - Пример №2

Има и друг начин за защита на работните листове. Това е най-лесният и прост начин да го направите. За това следвайте стъпките по-долу:

Стъпка 1: Напишете подпроцедурата за VBA Unprotect, както е показано по-долу.

Код:

 Sub VBA_Unprotect2 () Край Sub 

Стъпка 2: Използвайте функцията Работни листове и изберете листа, който искаме да защитим. И тук този лист е Sheet1 .

Код:

 Sub VBA_Unprotect2 () Работни листове ("Sheet1") End Sub 

Стъпка 3: По подобен начин, както е показано в пример-1, ще използваме командата Unprotect заедно с паролата, която използвахме, докато заключваме листа. Тук нашата парола за премахване на защита също е същата като „ Open1212 “.

Код:

 Под VBA_Unprotect2 () работни листове ("Sheet1"). Отстраняване на парола: = "Open1212" Край на под 

Сега кодът ни е завършен. За да тествате това, първо защитете листа по същия начин, както направихме в пример-1 и изпълнете този код, за да го премахнете.

VBA Unprotect Sheet - Пример №3

Ами ако кажа, можем отново да напишем код, при който не е необходимо да избираме името на листа, който искаме да защитим. Да, това може да стане с помощта на контур. За това следвайте стъпките по-долу:

Стъпка 1: Отново за това отворете модул и напишете подпроцедура на лист VBA Unprotect, както е показано по-долу.

Код:

 Sub VBA_Unprotect3 () Край Sub 

Стъпка 2: Използвайте DIM, за да определите променлива за Работен лист като Exsheet. Това е същият ред, който използвахме в горните примери.

Код:

 Sub VBA_Unprotect3 () Dim ExSheet като работен лист End Sub 

Стъпка 3: Отворете контура For-Next, където ще напишем условията за незащитен лист.

Код:

 Sub VBA_Unprotect3 () Dim ExSheet като работен лист за следващия край на ExSheet Sub 

Стъпка 4: Напишете условието за всяка отворена активна работна книга избира текущия активен работен лист, както е показано по-долу.

Код:

 Sub VBA_Unprotect3 () Dim ExSheet като работен лист за всеки ExSheet в ActiveWorkbook.Worksheets Следващ ExSheet End Sub 

Стъпка 5: Сега по подобен начин, както се вижда в горните примери, ще използваме дефинирани променливи, заедно с функцията Unprotect, за да премахнем защитата на листа. Тук също можем да използваме паролата. Това е незадължителен начин.

Код:

 Sub VBA_Unprotect3 () Dim ExSheet като работен лист за всеки ExSheet в ActiveWorkbook.Worksheets ExSheet.Unprotect Password: = "Open1212" Next ExSheet End Sub 

Компилирайте кода и стартирайте, ако не е намерена грешка.

Ето как можем да защитим всеки отворен текущ работен лист, без дори да избираме името и последователността на това. Този код автоматично ще вземе предвид този лист, който в момента е избран и отворен.

Плюсове на Excel VBA Unprotect Sheet

  • По-горе показаните процеси и примери са най-лесните за прилагане.
  • Можем да премахнем защитата на листа и по два начина, като дадем самата парола в кода или без да дадем паролата.
  • Това работи по същия начин, както ръчно премахваме защитата на листа.

Неща, които трябва да запомните

  • Тъй като процесът е доста лесен за изпълнение, така че може да няма подобрение чрез автоматизиране.
  • Можем да променяме паролата всеки път, когато преработваме процеса на защита и защита на листа.
  • Можем да изберем името на листа или последователността на листа, която искаме да го премахнем.
  • И след като го направите, запишете кода в Macro, дайте възможност на excel работен лист, за да защитите кода VBA от загуба.

Препоръчителни статии

Това е ръководство за VBA Unprotect Sheet. Тук обсъждаме как да премахнете защитата на Sheet в Excel, използвайки VBA код, заедно с практически примери и изтеглящ се шаблон на excel. Можете да разгледате и другите ни предложени статии -

  1. VBA публична променлива (примери)
  2. VBA формат номер с функция
  3. Вариант VBA с типове данни
  4. VBA Randomize | Шаблони на Excel
  5. VBA Environment

Категория: