Foaie de protecție Excel VBA

Avem o opțiune în Excel prin care ne putem proteja foile și fișierele excelente de la ștergerea, redenumirea și salvarea datelor de orice alte modificări care nu sunt necesare. Opțiunea se numește Protect Sheet and Protect Workbook, care se află în secțiunea Modificări din panoul meniului Review . Putem seta o parolă prin care putem salva foaia selectată de orice modificări făcute. Dar ce spun eu, acest lucru poate fi automatizat și folosind codul VBA. Da, putem crea un cod sau macro prin care putem bloca automat foaia și cartea de lucru. Dar acest articol se referă la Protecția foii.

Protecția foii este, de asemenea, un proces destul de ușor, precum protejarea foii. Pentru a proteja foaia, trebuie să introducem parola pe care am folosit-o în timp ce blocăm foaia. Pentru neprotejarea foii, trebuie doar să selectăm numele foii de lucru și funcția numită Unprotect . Dacă acesta este disponibil în VBA, atunci este doar un cod de o singură linie. Dar dacă nu este așa, atunci trebuie să căutăm un alt mod de a face acest lucru pe care îl vom vedea în exemplele de mai jos.

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

Vom învăța cum să protejăm foaia în Excel folosind Codul VBA.

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

Foaie de protecție VBA - Exemplul # 1

În primul rând, am vedea un exemplu simplu de a proteja foaia. Pentru aceasta, urmați pașii de mai jos:

Pasul 1: Deschideți mai întâi un modul din fila Meniu Insert, așa cum se arată mai jos.

Pasul 2: Acum scrieți subprocedura foii VBA Unprotect. Sau putem alege orice alt nume care să-l definească.

Cod:

 Sub VBA_Protejare () End Sub 

Pasul 3: Definiți o variabilă numită fișă de lucru cu orice nume. De preferat numele care seamănă cu foaia de lucru, cum ar fi ExSheet

Cod:

 Sub VBA_Protejare () Dim ExSheet Ca fișă de lucru Sub 

Pasul 4: Acum, apoi Setați variabila de foaie de lucru definită cu numele de Foaie pe care dorim să o protejăm. Aici, numele acelei foi este Foaia1 .

Cod:

 Sub VBA_Unprotect () Dim ExSheet Ca set de foi de lucru ExSheet = Feheets ("Sheet1") End Sub 

Pasul 5: Alocați acum Funcția de protecție, care este în lista derulantă VBA, la variabila de foi de lucru ExSheet .

Cod:

 Sub VBA_Unprotect () Dim ExSheet Ca set de foi de lucru ExSheet = Foi de lucru ("Foaie1") ExSheet.Unprotect End Sub 

Pasul 6: dați acum parola pe care am dat-o pentru blocarea acelei foi. Aici, acea parolă este „Open1212”. Și acesta poate fi orice, care este la alegerea utilizatorului.

Cod:

 Sub VBA_Unprotect () Dim ExSheet Ca set de foi de lucru ExSheet = Foi de lucru ("Foaie1") Parola ExSheet.Unprotect: = "Open1212" Finalizare Sub 

Pasul 7: Acum, mai întâi, vom proteja Sheet1 făcând clic pe fila meniu Revizuire și selectând opțiunea Protect Sheet .

Pasul 8: Introduceți parola pe care o dorim și faceți clic pe Ok pentru a proteja foaia.

Pasul 9: Introduceți din nou parola pentru confirmare.

Pasul 10: Odată terminat, vom vedea, nu putem schimba nimic în foaia respectivă chiar dacă încercăm. Acum pentru a proteja foaia, vom compila codul nostru scris și îl vom rula.

Vom vedea, după ce codul nostru este executat, acum suntem în măsură să aducem orice modificări în Sheet1 .

Pasul 11: Ce se întâmplă dacă eliminăm sau schimbăm linia de cod în care am introdus parola și o facem până la funcția Unprotect, așa cum se arată mai jos. Să vedem ce se va întâmpla dacă vom face acest lucru.

Cod:

 Sub VBA_Unprotect () Dim ExSheet Ca set de foi de lucru ExSheet = Foi de lucru ("Foaie1") ExSheet.Unprotect End Sub 

Pasul 12: Acum executați din nou codul complet. Vom vedea, va apărea o casetă de mesaj care va cere să introduceți parola. Introduceți parola pe care am selectat-o ​​în timp ce protejăm foaia și faceți clic pe Ok.

Cu acest proces, de asemenea, putem proteja foaia dorită.

Foaie de protecție VBA - Exemplul # 2

Există un alt mod de a proteja fișele de lucru. Acesta este cel mai simplu și mai simplu mod de a face acest lucru. Pentru aceasta, urmați pașii de mai jos:

Pasul 1: Scrieți subprocedura pentru VBA Unprotect așa cum se arată mai jos.

Cod:

 Sub VBA_Unprotect2 () End Sub 

Pasul 2: Folosiți funcția Fise de lucru și selectați foaia pe care dorim să o protejăm. Și din nou, foaia respectivă este Foaia1 .

Cod:

 Sub VBA_Unprotect2 () Fișe de lucru („Foaie1”) Sub final 

Pasul 3: Într-un mod similar după cum se arată în exemplul 1, vom folosi comanda Unprotect împreună cu parola pe care am folosit-o în timp ce blocăm foaia. Aici, parola noastră pentru protejare este, de asemenea, aceeași cu „ Open1212 ”.

Cod:

 Sub VBA_Unprotect2 () Fișe de lucru ("Foaie1"). Parola neprotejată: = "Open1212" Sub final 

Acum codul nostru este completat. Pentru a testa acest lucru, protejați foaia în același mod ca și în exemplul 1 și executați acest cod pentru a o proteja.

Foaie de protecție VBA - Exemplul # 3

Dacă spun, putem scrie din nou un cod în care nu trebuie să selectăm numele foii pe care vrem să o protejăm. Da, acest lucru se poate face folosind o buclă. Pentru aceasta, urmați pașii de mai jos:

Pasul 1: din nou pentru aceasta, deschideți un modul și scrieți subprocedura foii VBA Unprotect, așa cum se arată mai jos.

Cod:

 Sub VBA_Unprotect3 () End Sub 

Pasul 2: Folosiți DIM pentru a defini o variabilă pentru Foaia de lucru ca Exsheet. Este aceeași linie pe care am folosit-o în exemplele de mai sus.

Cod:

 Sub VBA_Unprotect3 () Dim ExSheet Ca fișă de lucru Sub 

Pasul 3: Deschideți o buclă For-Next unde vom scrie condițiile de neprotejare a foii.

Cod:

 Sub VBA_Unprotect3 () Dim ExSheet Ca fișă de lucru pentru următorul ExSheet End Sub 

Pasul 4: Scrieți condiția pentru fiecare registru de lucru activ deschis selectează Fișa de lucru activă curentă, așa cum se arată mai jos.

Cod:

 Sub VBA_Unprotect3 () Dim ExSheet Ca foi de lucru pentru fiecare ExSheet din ActiveWorkbook.Worksheets Următorul ExSheet End Sub 

Pasul 5: Acum într-o manieră similară așa cum se vede în exemplele de mai sus, vom folosi variabile definite împreună cu funcția Unprotect pentru a proteja foaia. Tot aici, putem sau nu folosi Parola. Acesta este un mod opțional.

Cod:

 Sub VBA_Unprotect3 () Dim ExSheet Ca foaie de lucru pentru fiecare ExSheet din ActiveWorkbook.Worksheets Parola ExSheet.Unprotect: = "Open1212" Următorul ExSheet End Sub 

Compilați codul și rulați dacă nu a fost găsită nicio eroare.

Astfel putem proteja orice foaie de lucru curentă deschisă fără să selectăm chiar numele și secvența acestuia. Acest cod va lua în considerare automat acea foaie care este selectată și deschisă în prezent.

Beneficiile Excel VBA Foaie de protecție

  • Procesele și exemplele expuse mai sus sunt cele mai ușor de aplicat.
  • Putem proteja foaia în ambele moduri, oferind parola însuși în cod sau fără a da parola.
  • Aceasta funcționează în același mod în care protejăm manual foaia.

Lucruri de amintit

  • Întrucât procesul este destul de ușor de implementat, nu este posibil să se îmbunătățească automatizarea.
  • Putem schimba parola de fiecare dată când refacem procesul de protejare și protejare a foii.
  • Putem selecta numele foii sau secvența foii pe care dorim să o protejăm.
  • Și după ce ați terminat, salvați codul în Macro, permiteți foaia de lucru excel pentru a proteja pierderea Codului VBA.

Articole recomandate

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

  1. Variabilă publică VBA (exemple)
  2. Număr format VBA cu funcție
  3. Varianta VBA cu tipuri de date
  4. VBA Randomize | Șabloane Excel
  5. VBA Environ

Categorie: