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 |