VBA-beschermblad

Excel VBA-beschermingsblad

We kunnen het Excel-blad beveiligen met behulp van vba-code waardoor de gebruiker geen wijzigingen in de werkbladgegevens kan aanbrengen, het enige wat ze kunnen doen is het rapport lezen. Hiervoor hebben we een ingebouwde vba-methode genaamd "Protect".

Zoals we onze werkbladen in Excel beschermen, kunnen we VBA gebruiken om onze werkbladen te beschermen, het wordt gedaan door een .protect-instructie te gebruiken, er zijn twee methoden om het blad te beschermen, een met wachtwoord en een andere zonder wachtwoord, de syntaxis om een ​​werkblad te beschermen is als volgt Worksheets (). Wachtwoord beveiligen.

Meestal delen we het definitieve eindrapport met de gebruiker of lezer. Als we het eindrapport met de gebruiker delen, willen we dat de gebruiker het eindrapport niet wijzigt of manipuleert. In zo'n scenario draait het allemaal om vertrouwen, nietwaar?

Syntaxis

Het beschermen van het blad omvat verschillende parameters om dit te leveren, in tegenstelling tot het onbeschermd maken van het blad. Laten we eens kijken naar de syntaxis van de beschermingsmethode met een wachtwoord.

Wauw!!! Raak niet geïntimideerd door naar de syntaxis te kijken. Bekijk de uitleg van elk argument hieronder.

  • Werkbladnaam: eerst moeten we vermelden welk werkblad we gaan beschermen.
  • Wachtwoord: we moeten het wachtwoord invoeren dat we gebruiken om te beschermen. Als we deze parameter negeren, zal Excel het blad zonder wachtwoord vergrendelen en terwijl het blad onbeschermd wordt, zal het de beveiliging opheffen zonder een wachtwoord te vragen.
  • Opmerking: onthoud het wachtwoord dat u geeft, want als u het vergeten bent, moet u verschillende moeilijke manieren doorlopen.
  • Tekenobject: als u objecten in het werkblad wilt beschermen, kunt u het argument doorgeven als WAAR of anders ONWAAR. De standaardwaarde is TRUE.
  • Inhoud: om de inhoud van het werkblad te beschermen, stelt u de parameter in op WAAR of anders op ONWAAR. De standaardwaarde is FALSE. Dit beschermt alleen vergrendelde cellen. De standaardwaarde is TRUE.
  • Scenario's: Als er een what-if-analyse is in Excel-scenario's, kunnen we deze ook beschermen. Om WAAR of anders ONWAAR te beschermen. De standaardwaarde is TRUE.
  • Alleen gebruikersinterface: als u de gebruikersinterface anders dan macro wilt beschermen, moet deze WAAR zijn. Als dit argument wordt weggelaten, worden zowel macro's als gebruikersinterface beschermd. Als u het argument instelt op TRUE, wordt alleen de gebruikersinterface beschermd. De standaardwaarde is FALSE.
  • Sta opmaak van cellen toe: als u wilt dat de gebruiker de cel opmaakt, kunt u de parameter instellen op TRUE of anders op FALSE. De standaardwaarde is FALSE.
  • Kolommen opmaken toestaan: Als u de gebruiker de mogelijkheid wilt geven om een ​​kolom in het beschermde blad op te maken, kunt u de parameter instellen op TRUE of op FALSE. De standaardwaarde is FALSE.
  • Opmaakrijen toestaan: Als u de gebruiker de mogelijkheid wilt geven om een ​​rij in het beveiligde blad op te maken, kunt u de parameter instellen op TRUE of anders op FALSE. De standaardwaarde is FALSE.
  • Kolommen invoegen in VBA toestaan : u wilt dat de gebruiker nieuwe kolommen invoegt, dan moet u dit op TRUE instellen. De standaardwaarde is FALSE.
  • Toestaan ​​dat rijen invoegen: Als u wilt dat de gebruiker nieuwe rijen invoegt, moet u dit op TRUE instellen. De standaardwaarde is FALSE.
  • Hyperlinks invoegen toestaan: als u wilt dat de gebruiker hyperlinks invoegt, moet u dit op TRUE instellen. De standaardwaarde is FALSE.
  • Sta het verwijderen van kolommen toe: Als u wilt dat de gebruiker kolommen in VBA verwijdert, moet u dit op TRUE instellen. De standaardwaarde is FALSE.
  • Sta het verwijderen van rijen toe: Als u wilt dat de gebruiker rijen verwijdert, moet u dit op TRUE instellen. De standaardwaarde is FALSE.
  • Sorteren toestaan: als u wilt dat de gebruiker de gegevens kan sorteren, moet u dit op TRUE instellen. De standaardwaarde is FALSE.
  • Filtering toestaan: als u wilt dat de gebruiker de gegevens filtert, moet u dit op TRUE instellen. De standaardwaarde is FALSE.
  • Sta het gebruik van draaitabellen toe : als u wilt dat de gebruiker draaitabellen gebruikt, moet u dit op TRUE instellen. De standaardwaarde is FALSE.

Hoe blad te beschermen met VBA-code?

U kunt deze VBA-beschermblad Excel-sjabloon hier downloaden - VBA-beschermblad Excel-sjabloon

Stap 1: Selecteer het blad dat moet worden beschermd

Om het blad te beschermen, is de eerste stap om te beslissen welk blad we moeten beschermen met een wachtwoord en we moeten het blad bij zijn naam noemen met behulp van vba Worksheet Object.

Stel bijvoorbeeld dat u het blad met de naam "Hoofdblad" wilt beschermen, dan moet u de werkbladnaam vermelden zoals hieronder.

Stap 2: Werkbladvariabele definiëren

Na het vermelden van de werkbladnaam een ​​punt plaatsen, maar we zien geen IntelliSense-lijst om mee te werken, dit maakt het werk moeilijk. Om toegang te krijgen tot de IntelliSense-lijst, definieert u de variabele als een werkblad.

Code:

 Sub Protect_Example1 () Dim Ws As Worksheet End Sub 

Stap 3: Geef een werkbladreferentie

Stel nu de werkbladverwijzing naar de variabele in als Werkbladen ("Hoofdblad") .

Code:

 Sub Protect_Example1 () Dim Ws As Worksheet Set Ws = Worksheets ("Master Sheet") End Sub 

Nu bevat de variabele "Ws" de referentie van het werkblad met de naam "Master Sheet". Door deze variabele te gebruiken, hebben we toegang tot de intellisense-lijst.

Stap 4: Selecteer Beveiligingsmethode

Selecteer de "Beschermen" -methode in de IntelliSense-lijst.

Stap 5: Voer wachtwoord in

Geef het wachtwoord op tussen dubbele aanhalingstekens.

Code:

 Sub Protect_Example1 () Dim Ws As Worksheet Set Ws = Worksheets ("Master Sheet") Ws.Protect Password: = "MyPassword" End Sub 

Stap 6: voer de code uit

Voer de code handmatig uit of gebruik de sneltoets F5, het zal het blad met de naam "Master Sheet" beschermen .

Als het blad is beveiligd en we wijzigingen willen aanbrengen, wordt er een foutbericht weergegeven, zoals hieronder wordt weergegeven.

Als u meer dan één vel wilt beschermen, moeten we lussen gebruiken, hieronder vindt u de voorbeeldcode om het vel te beschermen.

 Sub Protect_Example2 () Dim Ws als werkblad voor elke Ws in ActiveWorkbook.Worksheets Ws.Protect Password: = "My Passw0rd" Next Ws End Sub 

Opmerking: gebruik andere parameters om te experimenteren.