Protejarea registrului de lucru VBA (protejare / dezactivare prin parolă)

Excel vă permite să vă protejați registrele de lucru Excel de modificări. Acest tutorial vă va arăta cum să protejați sau să protejați structura registrului de lucru folosind VBA.

Protecția VBA Workbook

VBA Workbook Protection vă permite să blocați structura registrului de lucru. Când un registru de lucru este protejat, utilizatorii nu vor putea să adauge, să șteargă, să ascundă / dezvăluie sau să protejeze / să protejeze foile de lucru. Dacă construiți un model, probabil că doriți să activați protecția registrului de lucru pentru a împiedica utilizatorii (sau dvs.!) Să șteargă accidental foile de lucru.

Anulați protecția registrului de lucru VBA

Pentru a proteja un registru de lucru pur și simplu utilizați următoarea linie de cod:

1 Cărți de lucru („Cartea1”). Neprotejați

Notă: acest cod va funcționa numai dacă registrul de lucru a fost protejat fără o parolă. Dacă a fost protejată cu o parolă, trebuie să introduceți și parola pentru a o proteja:

Desprotejați registrul de lucru cu parola

Această linie de cod va proteja un registru de lucru care a fost protejat cu o parolă:

1 Cărți de lucru („Book1”). Anulați protecția parolei: = „parola”

sau puteți comanda parola: =

1 Cărți de lucru („Book1”). Anulați protecția „parolei”

Anulați protecția acestui manual de lucru

Acest cod va proteja ThisWorkbook (ThisWorkbook este registrul de lucru în care este stocat codul care rulează. Nu se va schimba niciodată).

1 ThisWorkbook.Deprotejează

sau neprotejați ThisWorkbook cu o parolă:

1 ThisWorkbook.Defectați „parola”

Dezactivați ActiveWorkbook

Acest cod va proteja ActiveWorbook-ul.

1 ActiveWorkbook.Deprotejează

sau neprotejați ActiveWorkbook cu o parolă:

1 ActiveWorkbook.Defectați „parola”

Dezactivați toate registrele de lucru deschise

Acest cod va proteja toate registrele de lucru deschise:

12345678 Sub UnprotectAllOpenWorkbooks ()Dim wb Ca registru de lucruPentru fiecare wb din registrele de lucruwb. NeprotejeazăUrmătorul wbSfârșitul Sub

Anulați protecția registrului de lucru - fără a ști parola

Dacă trebuie să protejați un registru de lucru fără să știți parola, există mai multe programe de completare pentru a vă ajuta. Aș recomanda Ribbon Commander.

Desprotejați toate foile din registrul de lucru

După ce ați protejat un registru de lucru, este posibil să doriți să protejați toate foile din registrul de lucru. Iată o procedură care va proteja toate foile:

12345678 Sub UnProtectWorkbookAndAllSheets ()Dim ws Ca foaie de lucruActiveWorkbook.DeprotejeazăPentru fiecare ws din foi de lucruws. NeprotejeazăUrmătorulSfârșitul Sub

Protejați registrul de lucru

Puteți proteja structurile registrului de lucru în același mod în care vă protejați.

Protejați registrul de lucru fără parolă

Această linie de cod va proteja un registru de lucru (fără parolă)

1 Cărți de lucru („Book1”). Protejați

Notă: voi aplica deseori protecția registrului de lucru fără parole, pur și simplu pentru a preveni accidental modificări ale registrelor de lucru.

Protejați registrul de lucru cu parolă

Acest cod va proteja structura registrului de lucru (cu o parolă)

1 Cărți de lucru („Book1”). Protejați „parola”

sau:

1 Cărți de lucru ("Book1"). Protejați parola: = "parolă"

Protecție prin parolă a fișierului Excel

În loc de protecție a registrului de lucru, vă recomandăm să protejați prin parolă un întreg fișier Excel. Pentru a face acest lucru folosind VBA, Salvați ca registrul de lucru cu o parolă:

1 Cărți de lucru („Book1”). SaveAs „parolă”

Protejați / dezactivați exemplele din registrul de lucru

Afișați toate foile de lucru din registrul de lucru protejat

Această procedură va proteja un registru de lucru, va ascunde toate foile de lucru și va proteja din nou registrul de lucru

12345678910 Sub UnprotectWB_Unhide_All_Sheets ()Dim ws Ca foaie de lucruActiveWorkbook.DeprotejeazăPentru fiecare ws din foi de lucruws.Visible = xlSheetVisibleUrmătorulActiveWorkbook.ProtectSfârșitul Sub

Protejați registrul de lucru și toate foile

Această procedură va proteja toate foile de lucru dintr-un registru de lucru și apoi va proteja registrul de lucru:

1234567891011 Sub ProtectWB_Protect_All_Sheets ()Dim ws Ca foaie de lucruActiveWorkbook.DeprotejeazăPentru fiecare ws din foi de lucruws. ProtejațiUrmătorulActiveWorkbook.ProtectSfârșitul Sub

Puteți adăuga și protecție prin parolă:

1234567891011 Sub ProtectWB_Protect_All_Sheets_Pswrd ()Dim ws Ca foaie de lucruActiveWorkbook.Defectați „parola”Pentru fiecare ws din foi de lucruws.Protejați „parola”UrmătorulActiveWorkbook.Protejați „parola”Sfârșitul Sub
wave wave wave wave wave