VBA UnProtect-blad

Excel VBA Beveiliging blad opheffen

Er zijn situaties waarin we onze werkbladen beschermen om te voorkomen dat de gebruiker de werkbladen manipuleert. Terwijl we het werkblad beschermen, behouden we meestal hetzelfde wachtwoord. In dit artikel laten we u zien hoe u de beveiliging van het blad opheft met VBA-codering.

Voorbeelden

U kunt deze VBA Unprotect Sheet Excel-sjabloon hier downloaden - VBA Unprotect Sheet Excel-sjabloon

Voorbeeld 1

De beveiliging van het werkblad opheffen is 99% eenvoudiger dan ze beschermen, we hebben alleen het wachtwoord nodig om de beveiliging van het werkblad op te heffen.

Het allereerste dat we moeten doen, is de naam van het werkblad noemen waarvan we de beveiliging gaan opheffen. Als u bijvoorbeeld de beveiliging van het blad met de naam "Verkoopgegevens" wilt opheffen, moet uw VBA-code er als volgt uitzien.

Werkbladen ('Verkoopgegevens')

Open vervolgens de methode Unprotect.

Zoals we in de bovenstaande afbeelding kunnen zien, zien we geen enkele IntelliSense-lijst om ons te helpen. Dit maakt het werk moeilijker, vooral voor de nieuwe leerling.

Om dit te verhelpen, vertrouw ik meestal op het declareren van een VBA-variabele als "Werkblad".

Code:

 Sub Unpretect_Example1 () Dim Ws As Worksheet End Sub 

Stel nu de gedeclareerde variabele in op het betreffende blad.

Code:

 Sub Unpretect_Example1 () Dim Ws As Worksheet Set Ws = Worksheets ("Sales Data") End Sub 

Gebruik nu een variabele om toegang te krijgen tot alle eigenschappen en methoden van de gedeclareerde variabele.

Zoals u in de bovenstaande afbeelding kunt zien, hebben we toegang tot alle eigenschappen en methoden. Selecteer de "Unprotect" -methode in de IntelliSense-lijst.

Het vraagt ​​het wachtwoord om de beveiliging van het blad op te heffen. Ik heb het wachtwoord ingesteld als "Excel @ 1234", dus ik zal het wachtwoord als hetzelfde opgeven.

Hierdoor wordt de beveiliging van het werkblad met de naam "Verkoopgegevens" opgeheven.

Code:

 Sub Unpretect_Example1 () Dim Ws As Worksheet Set Ws = Worksheets ("Sales Data") Ws.Unprotect Password: = "Excel @ 1234" End Sub 

Als er geen wachtwoord is, hoeven we alleen de methode "Unprotect" te gebruiken en de parameter "Wachtwoord" te negeren.

Code:

 Sub Unpretect_Example1 () Dim Ws As Worksheet Set Ws = Worksheets ("Sales Data") 'Wijzig de werkbladnaam volgens uw vereiste Ws.Unprotect' Als er geen wachtwoord is, geef dan de "UnProtect" -methode door End Sub 

Als er een wachtwoord is, moeten we het wachtwoord tussen dubbele aanhalingstekens invoeren. Het wachtwoord is hoofdlettergevoelig, dus onthoud ze zorgvuldig.

Voorbeeld # 2 - Maak de beveiliging van alle Excel-bladen ongedaan met slechts een klik

We hebben gezien hoe u de beveiliging van het specifieke werkblad opheft. Stel je voor dat je veel werkbladen hebt en alle werkbladen zijn beveiligd met hetzelfde wachtwoord, dan kunnen we niet voor elk werkblad afzonderlijk codes blijven schrijven.

In deze gevallen moeten we lussen gebruiken om door de verzameling werkbladobjecten te lopen en de beveiliging gemakkelijk op te heffen.

De onderstaande code zal alle werkbladen doorlopen en de beveiliging van het blad opheffen.

Code:

Sub Unpretect_Example2 () Dim Ws als werkblad voor elke Ws in ActiveWorkbook.Worksheets Ws.Unprotect Password: = "Excel @ 1234" 'Verander het wachtwoord zoals je hebt vermeld terwijl je ze beschermt. Volgende Ws End Sub

Voorbeeld # 3 - Speciale situaties

Situatie 1: Heb ooit gedacht dat het opgegeven wachtwoord onjuist is. Als het opgegeven wachtwoord niet klopt, krijgen we 1004: Run Time Error.

Om deze fouten op te lossen, kunnen we de optie "On Error GoTo Label" gebruiken. Onderstaande code is het voorbeeld van hetzelfde.

Code:

Sub Unpretect_Example3 () Dim Ws als werkblad voor elke Ws in ActiveWorkbook.Worksheets bij fout GoTo Errormessage Ws.Unprotect Password: = "Excel @ 1234" 'Wijzig het wachtwoord zoals u hebt vermeld terwijl u ze beschermt. Foutmelding: MsgBox "Verkeerd wachtwoord" Next Ws End Sub

De bovenstaande code zal een mooi berichtvenster tonen met de tekst "Wrong Password".

Situatie 2: Als het werkblad zonder wachtwoord is beveiligd en u een willekeurig wachtwoord opgeeft, wordt de beveiliging van het werkblad nog steeds ongedaan gemaakt zonder enige vorm van fouten te vertonen.

Situatie 3: Als het blad is beveiligd met een wachtwoord, maar als u geen wachtwoord opgeeft, verschijnt VBA als een wachtwoordinvoervak ​​om het wachtwoord in te voeren.

In het bovenstaande invoervak ​​moeten we ons wachtwoord invoeren om de beveiliging van het werkblad op te heffen. Als u op de knop Annuleren klikt, wordt de VBA-subprocedure afgesloten zonder iets te tonen, tenzij er een gebruikersberichtvenster is.