VBA-beschermblad - Wachtwoordbeveiliging Excel-blad met VBA

Excel VBA-beschermingsblad

We kunnen het Excel-blad beschermen met 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".

Net 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, de ene is met een wachtwoord en de andere is zonder wachtwoord, de syntaxis om te beschermen een werkblad 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 beschermvel omvat verschillende parameters om te leveren. Dit is in tegenstelling tot het niet beschermen van het blad. Laten we eens kijken naar de syntaxis van de Protect-methode 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 om 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 TRUE of anders op FALSE. 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 de 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 WAAR of op ONWAAR. De standaardwaarde is FALSE.
  • Sta opmaakrijen toe: Als u de gebruiker de mogelijkheid wilt geven om een ​​rij in het beveiligde blad op te maken, dan kunt u de parameter instellen op TRUE of anders 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 kan verwijderen, moet u dit instellen op TRUE. 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?

Stap 1: Selecteer het blad dat moet worden beschermd

Om het blad te beschermen, is de eerste stap om te beslissen op welk blad we moeten beschermen met een wachtwoord, en we moeten het blad bij zijn naam noemen met behulp van het VBA-werkbladobject.

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

Stap 2: Werkbladvariabele definiëren

Nadat u de naam van het werkblad hebt genoemd, plaatst u een punt, 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 'Hoofdblad'. 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 ziet u de voorbeeldcode om het blad 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.

Interessante artikelen...