Foaie de protecție Excel VBA

Protejarea unei foi de lucru este o sarcină importantă pentru cei care lucrează foarte des pe Microsoft Excel. Este o sarcină de care aveți nevoie pentru a vă proteja foaia de a fi editat de un alt utilizator. Să presupunem că trimiteți un raport către management și apoi managementul schimbă cu bună știință sau din greșeală parametrii sau valorile prin raport. Devine agitat pentru a identifica eroarea, precum și, în același timp, refacerea este ceva care îți consumă timpul. Pentru a depăși această problemă, este întotdeauna o practică bună să protejați o foaie / ochi pentru a fi editată folosind o parolă. Această opțiune vă ajută prin faptul că nu permiteți unui utilizator să efectueze modificări în cadrul foii / foilor. De asemenea, puteți partaja parola cu persoana destinată, precum și autorizat să efectueze modificările. Deși Excel are opțiunea Foaie de lucru protejată în cadrul acesteia, prin fila Revizuire prezentă pe panglica Excel, devine agitată atunci când aveți mai mult de o foaie de protejat. Va consuma mult timp pentru a proteja fiecare foaie una câte una. În schimb, este o practică bună să scrii un cod VBA care poate proteja fișele simple sau multiple din cartea de lucru pentru a fi editate.

Sintaxa foliei de protecție VBA

Această funcție VBA încorporată asociată cu foaia de lucru vă permite să protejați foaia cu ajutorul parolei. Sintaxa pentru funcția VBA Protect Sheet este următoarea:

Toți parametrii sunt opționali în această funcție pe care îi puteți ghida prin parantezele pătrate menționate pentru fiecare dintre ei.

  • Parolă: specifică parola pentru foaie. Dacă nu este furnizat, foaia va fi protejată fără parolă, iar utilizatorul o poate edita fără să i se ceară o parolă.
  • DrawingObjects: argumente opționale care vă permit să protejați diferite forme ale foii de lucru. Preia valori booleane. În mod implicit, este setat pe FALSE.
  • Cuprins: argument opțional. Protejează toate obiectele. În mod implicit, valorile sunt setate pe TRUE.
  • Scenarii: protejează toate scenariile diferite. Valoarea implicită este setată pe TRUE.
  • UserInterfaceOnly: Protejează interfața utilizatorului, dar nu și macro-urile. Valoarea implicită este TRUE dacă macrocomanda este ignorată, precum și interfața de utilizator vor fi protejate.
  • AllowFormattingCells: Valoarea implicită este setată la FALSE datorită căreia utilizatorul nu poate format celulele foii. Dacă este setat TRUE, utilizatorul poate să formateze celulele din foaie.
  • AllowInsertingColumns: Valoare implicită setată la FALSE. Dacă este setat TRUE, utilizatorul poate introduce o coloană în foaie.
  • AllowInsertingRows: Valoarea implicită este setată la FALSE. Dacă este setat TRUE, utilizatorul poate insera rânduri în foaie.
  • AllowInsertingHyperlinks: Valoarea implicită este setată la FALSE. Dacă este setat TRUE, utilizatorul poate introduce hyperlink-uri în foaie.
  • AllowDeletingColumns: Valoarea implicită este setată la FALSE. Dacă este setat TRUE, utilizatorul poate șterge orice coloană din foaie.
  • AllowDeletingRows: Valoarea implicită este setată pe FALSE. Dacă este setat TRUE, utilizatorul poate șterge orice număr de rânduri din foaie.
  • AllowSorting: Valoarea implicită este setată la FALSE. Dacă este setat TRUE, utilizatorul poate sorta datele prezente în foaie.
  • AllowFiltering: valoarea implicită este setată la FALSE. Dacă este setat TRUE, utilizatorul poate filtra datele prezente în foaie.
  • AllowUsingPivotTables: Valoarea implicită este setată la FALSE. Dacă este setat TRUE, utilizatorul poate utiliza și modifica tabelele pivot.

Cum să protejați foaia în Excel VBA?

Mai jos sunt prezentate diferitele exemple de protejare a foii în Excel folosind VBA Protect.

Puteți descărca acest șablon VBA Protect Sheet Excel aici - Șablonul VBA Protect Sheet Excel

FBA de protecție VBA - Exemplul # 1

Să presupunem că avem o foaie numită „Exemplul 1” într-un registru de lucru numit „VBA Protect Sheet”. Dorim ca această foaie să fie protejată cu o parolă. Pentru aceasta, urmați pașii de mai jos:

Pasul 1: Inserați un nou modul în Visual Basic Editor (VBE). Faceți clic pe Insert > selectați modulul .

Pasul 2: Definiți o nouă sub-procedură în cadrul modulului.

Cod:

 Sub Exemplu_1 () Final Sub 

Pasul 3: Acum trebuie să utilizăm funcția Protect care poate fi aplicată pe un obiect numit Foaie de lucru. Începeți codul cu obiectul Foi de lucru și introduceți numele unei foi de lucru în parantezele pe care doriți să le protejați.

Cod:

 Sub Exemplu_1 () Fișe de lucru („Exemplu 1”) Sub final 

Pasul 4: Acum, puneți un punct după parantezele de închidere și folosiți Cuvântul cheie Protect care inițiază procesul de protejare a foii numită „ Exemplul 1 ”.

Cod:

 Sub Exemplu_1 () Fișe de lucru ("Exemplu 1") 

Vă puteți opri aici în timp ce protejați o foaie. Deoarece toate argumentele sunt opționale, foaia dvs. va fi în continuare protejată, dar nu va cere utilizatorului să introducă parola înainte de editare și va fi la fel ca o foaie neprotejată. Cu siguranță nu l-ai dori așa. Prin urmare, adăugați o parolă puternică pentru a proteja această foaie în pasul următor.

Pasul 5: Introduceți parola cheie și utilizați o parolă puternică pentru a proteja această foaie.

Cod:

 Sub Exemplu_1 () Fișe de lucru ("Exemplu 1"). Protejare parolă: = " " End Sub 

Vom folosi doar primul argument al funcției care se numește Parolă și pentru restul tuturor argumentelor vom merge cu valorile implicite.

Pasul 6: Acesta este, puteți rula acest cod apăsând butonul F5 sau Run și puteți vedea că fișierul este acum protejat și va cere utilizatorului parola imediat ce încearcă să editeze oricare dintre celule.

Astfel protejăm o foaie folosind funcția VBA Protect.

FBA de protecție VBA - Exemplul # 2

Acum, dorim să protejăm toate foile prezente într-un manual de lucru. Pentru aceasta, urmați pașii de mai jos:

Pasul 1: Definiți o subprocedură în modul.

Cod:

 Sub Exemplu_2 () End Sub 

Pasul 2: Definiți o nouă variabilă ca foaie de lucru folosind Dim.

Cod:

 Sub Exemplu_2 () Dim wrk_sht Ca fișă de lucru Sub 

Pasul 3: Porniți o buclă For. Această buclă ar trebui să ruleze până la ultima foaie de lucru din Active Workbook.

Cod:

 Sub Exemplu_2 () Dim wrk_sht Ca foi de lucru pentru fiecare wrk_sht În ActiveWorkbook.Worksheets End Sub 

Această linie de cod selectează fiecare foaie de lucru a cărții de lucru active și o stochează sub variabila wrk_sht pentru fiecare iterație a buclei. Bucla se termină imediat ce ultima foaie a cărții de lucru este selectată și stocată în variabila wrk_sht. Trebuie să definim o operație pentru această buclă. Cu siguranță va proteja foaia folosind o parolă.

Pasul 4: Acum, utilizați funcția Protect pentru a proteja fișele stocate sub variabila wrk_sht pentru fiecare iterație a buclei For.

Cod:

 Sub Exemplu_2 () Dim wrk_sht Ca foaie de lucru pentru fiecare wrk_sht În ActiveWorkbook.Worksheets wrk_sht.Protect Password: = " " End Sub 

Pasul 5: Utilizați instrucțiunea Următorul, permite rularea buclei până când fiecare foaie de lucru este protejată.

Cod:

 Sub Exemplu_2 () Dim wrk_sht Ca foaie de lucru pentru fiecare wrk_sht În ActiveWorkbook.Worksheets wrk_sht.Protect Password: = " " Următorul Sub Sub 

Dacă rulați acest cod, fiecare foaie de lucru din cartea de lucru activă va fi protejată de parolă și trebuie să o introduceți de fiecare dată când doriți să editați foile.

Lucruri de amintit

  • Se recomandă utilizarea unei parole în timp ce protejați o foaie. În caz contrar, utilizatorul nu i se va solicita introducerea unei parole și poate edita direct fișierul, deși l-ați protejat.
  • Se recomandă să vă amintiți parola. În caz contrar, uitarea aceluiași lucru nu vă va permite niciodată să editați fișierul. Este posibil să fiți nevoit să parcurgeți diferitele metode dacă pierdeți parola, iar aceste metode nu sunt în sfera de aplicare a acestui articol.

Articole recomandate

Acesta este un ghid pentru Foaia de protecție VBA. Aici vom discuta despre cum să protejați sau blocați foile folosind funcția VBA Protect în Excel, împreună cu exemple practice și șablon Excel descărcabil. De asemenea, puteți parcurge și alte articole sugerate -

  1. Cum să redenumiți foaia în Excel VBA?
  2. Pași pentru a proteja foaia în Excel
  3. Foaie de activare VBA (exemple cu șablon Excel)
  4. Cum se copiază o foaie Excel?

Categorie: