Foaie de protecție VBA - Protecție prin parolă a foii Excel folosind VBA

Foaie de protecție Excel VBA

Putem proteja foaia Excel folosind cod vba care nu permite utilizatorului să facă modificări la datele foii de lucru, tot ce pot face este doar să citească raportul. Pentru aceasta, avem o metodă vba încorporată numită „Protect”.

La fel cum ne protejăm foile de lucru în Excel în mod similar, putem folosi VBA pentru a ne proteja foile de lucru, se face folosind o instrucțiune .protect, există două metode pentru a proteja foaia, una este cu o parolă, iar alta este fără parolă, sintaxa de protejat o foaie de lucru este după cum urmează foi de lucru (). Protejați parola.

De obicei, împărtășim raportul final final cu utilizatorul sau cititorul. Când împărtășim raportul final final cu utilizatorul, dorim ca acesta să nu aducă nicio modificare sau să manipuleze raportul final. Într-un astfel de scenariu, este vorba de încredere, nu-i așa?

Sintaxă

Foaia de protecție implică diverși parametri de furnizat. Acest lucru este diferit de neprotejarea foii. Să ne uităm la sintaxa metodei Protect cu o parolă.

Wow!!! Nu vă lăsați intimidați uitându-vă la sintaxă. Aruncați o privire la explicația fiecărui argument de mai jos.

  • Nume foaie de lucru: Mai întâi, trebuie să menționăm ce foaie de lucru vom proteja.
  • Parolă: trebuie să introducem parola pe care o folosim pentru a o proteja. Dacă ignorăm acest parametru, excel va bloca foaia fără o parolă și, în timp ce va proteja foaia, se va proteja fără a cere nicio parolă.
  • Notă: Amintiți-vă parola pe care o dați, deoarece dacă ați uitat, atunci trebuie să parcurgeți diferite căi grele.
  • Obiect de desen: Dacă doriți să protejați obiectele din foaia de lucru, atunci puteți trece argumentul ca ADEVĂRAT sau altfel FALS. Valoarea implicită este TRUE.
  • Conținut: Pentru a proteja conținutul foii de lucru, setați parametrul ca ADEVĂRAT sau altfel FALS. Valoarea implicită este FALSĂ. Acest lucru va proteja numai celulele blocate. Valoarea implicită este TRUE.
  • Scenarii: dacă există analize ce se întâmplă în scenarii Excel, le putem proteja și ele. Pentru a proteja ADEVĂRAT sau altfel FALS. Valoarea implicită este TRUE.
  • Numai interfață utilizator: dacă doriți să protejați interfața utilizatorului altul decât macro, atunci ar trebui să fie ADEVĂRAT. Dacă acest argument este omis, atunci acesta va proteja atât macrocomenzile, cât și interfața cu utilizatorul. Dacă setați argumentul la TRUE, acesta va proteja numai interfața cu utilizatorul. Valoarea implicită este FALSĂ.
  • Permiteți formatarea celulelor: dacă doriți să permiteți utilizatorului să formateze celula, puteți seta parametrul la TRUE sau altfel FALSE. Valoarea implicită este FALSĂ.
  • Permiteți formatarea coloanelor: dacă doriți să permiteți utilizatorului să formateze orice coloană din foaia protejată, atunci puteți seta parametrul la ADEVĂRAT sau altfel FALS. Valoarea implicită este FALSĂ.
  • Permiteți formatarea rândurilor: Dacă doriți să permiteți utilizatorului să formateze orice rând din foaia protejată, atunci puteți seta parametrul la TRUE sau altfel FALSE. Valoarea implicită este FALSĂ.
  • Permiteți inserarea coloanelor în VBA: doriți să permiteți utilizatorului să introducă coloane noi, apoi trebuie să setați acest lucru la TRUE. Valoarea implicită este FALSĂ.
  • Permiteți inserarea rândurilor: dacă doriți să permiteți utilizatorului să introducă rânduri noi, atunci trebuie să setați acest lucru la TRUE. Valoarea implicită este FALSĂ.
  • Permiteți inserarea hyperlinkurilor: dacă doriți să permiteți utilizatorului să introducă hyperlinkuri, atunci trebuie să setați acest lucru la TRUE. Valoarea implicită este FALSĂ.
  • Permite ștergerea coloanelor: dacă doriți să permiteți utilizatorului să șteargă coloane în VBA, atunci trebuie să setați acest lucru la TRUE. Valoarea implicită este FALSĂ.
  • Permite ștergerea rândurilor: dacă doriți să permiteți utilizatorului să șteargă rânduri, atunci trebuie să setați acest lucru la TRUE. Valoarea implicită este FALSĂ.
  • Permiteți sortarea: dacă doriți să permiteți utilizatorului să sorteze datele, atunci trebuie să setați acest lucru la TRUE. Valoarea implicită este FALSĂ.
  • Permiteți filtrarea: dacă doriți să permiteți utilizatorului să filtreze datele, atunci trebuie să setați acest lucru la TRUE. Valoarea implicită este FALSĂ.
  • Permite utilizarea tabelelor pivot: Dacă doriți să permiteți utilizatorului să utilizeze tabele pivot, atunci trebuie să setați acest lucru la TRUE. Valoarea implicită este FALSĂ.

Cum se protejează foaia folosind codul VBA?

Pasul 1: Selectați foaia care trebuie protejată

Pentru a proteja foaia, primul pas este să decidem ce foaie trebuie să protejăm folosind o parolă și trebuie să apelăm foaia după numele acesteia folosind obiectul VBA Worksheet.

De exemplu, să presupunem că doriți să protejați foaia numită „Foaie principală”, apoi trebuie să menționați numele foii de lucru, precum cel de mai jos.

Pasul 2: definiți variabila foii de lucru

După menționarea numelui foii de lucru, puneți un punct, dar nu vedem nicio listă IntelliSense cu care să lucrați. Acest lucru face munca dificilă. Pentru a obține acces la lista IntelliSense, definiți variabila ca o foaie de lucru.

Cod:

Sub Protect_Example1 () Dim Ws As Worksheet End Sub

Pasul 3: Dați referință pentru foaia de lucru

Acum setați referința foii de lucru la variabilă ca foi de lucru („Foaie principală”) .

Cod:

Sub Protect_Example1 () Dim Ws Ca set de foi de lucru Ws = Foi de lucru („Foaie principală”) Finalizare Sub

Acum, variabila „Ws” deține referința foii de lucru numită „Foaie principală”. Prin utilizarea acestei variabile, putem accesa lista IntelliSense.

Pasul 4: Selectați Metoda de protecție

Selectați metoda „Protejați” din lista IntelliSense.

Pasul 5: introduceți parola

Specificați parola între ghilimele duble.

Cod:

Sub Protect_Example1 () Dim Ws Ca set de foi de lucru Ws = Foi de lucru ("Foaie principală") Ws.Protect Password: = "MyPassword" End Sub

Pasul 6: Rulați codul

Rulați codul manual sau utilizând tasta de comandă rapidă F5, apoi va proteja foaia denumită „Foaie principală”.

Când foaia este protejată, dacă dorim să facem orice modificare, atunci se afișează un mesaj de eroare, așa cum se arată mai jos.

În cazul în care doriți să protejați mai multe foi, atunci trebuie să folosim bucle. Mai jos este exemplul de cod pentru a proteja foaia.

Sub Protect_Example2 () Dim Ws Ca foaie de lucru pentru fiecare Ws din ActiveWorkbook.Whesheets Ws.Protect Password: = "My Passw0rd" Next Ws End Sub

Notă: utilizați alți parametri pentru a experimenta.

Articole interesante...