VBA UnProtect Sheet

Excel VBA Unprotect Sheet

Es gibt Situationen, in denen wir unsere Arbeitsblätter schützen, um zu verhindern, dass der Benutzer die Arbeitsblätter manipuliert. Während wir das Arbeitsblatt schützen, behalten wir normalerweise das gleiche Passwort bei. In diesem Artikel zeigen wir Ihnen, wie Sie den Schutz des Blattes mithilfe der VBA-Codierung aufheben können.

Beispiele

Sie können diese VBA Unprotect Sheet Excel-Vorlage hier herunterladen - VBA Unprotect Sheet Excel-Vorlage

Beispiel 1

Das Aufheben des Schutzes des Arbeitsblatts ist zu 99% einfacher als das Schützen. Sie benötigen lediglich das Kennwort, um den Schutz des Arbeitsblatts aufzuheben.

Das allererste, was wir tun müssen, ist, den Arbeitsblattnamen zu erwähnen, den wir nicht mehr schützen möchten. Wenn Sie beispielsweise den Schutz des als "Verkaufsdaten" bezeichneten Blattes aufheben möchten, sollte Ihr VBA-Code folgendermaßen aussehen.

Arbeitsblätter („Verkaufsdaten“)

Greifen Sie dann auf die Unprotect-Methode zu.

Wie wir im obigen Bild sehen können, sehen wir keine IntelliSense-Liste, die uns hilft. Dies macht die Arbeit schwieriger, insbesondere für den neuen Lernenden.

Um dies zu überwinden, verlasse ich mich normalerweise darauf, eine VBA-Variable als „Arbeitsblatt“ zu deklarieren.

Code:

 Sub Unpretect_Example1 () Dim Ws As Worksheet End Sub 

Setzen Sie nun die deklarierte Variable auf das jeweilige Blatt.

Code:

 Sub Unpretect_Example1 () Dim Ws As Worksheet Set Ws = Arbeitsblätter ("Verkaufsdaten") End Sub 

Verwenden Sie nun eine Variable, um auf alle Eigenschaften und Methoden der deklarierten Variablen zuzugreifen.

Wie Sie im obigen Bild sehen können, können wir auf alle Eigenschaften und Methoden zugreifen. Wählen Sie die Methode "Unprotect" aus der IntelliSense-Liste aus.

Es wird nach dem Kennwort gefragt, um den Schutz des Blattes aufzuheben. Ich habe das Passwort als "Excel @ 1234" festgelegt, daher werde ich das Passwort als dasselbe angeben.

Dadurch wird der Schutz des Arbeitsblatts mit dem Namen "Verkaufsdaten" aufgehoben.

Code:

 Sub Unpretect_Example1 () Dim Ws As Worksheet Set Ws = Arbeitsblätter ("Verkaufsdaten") Ws.Unprotect Password: = "Excel @ 1234" End Sub 

Wenn es kein Passwort gibt, müssen wir nur die Methode "Unprotect" verwenden und den Parameter "Password" ignorieren.

Code:

 Sub Unpretect_Example1 () Dim Ws As Worksheet Set Ws = Arbeitsblätter ("Verkaufsdaten") 'Ändern Sie den Arbeitsblattnamen gemäß Ihrer Anforderung Ws.Unprotect' Wenn kein Kennwort vorhanden ist, übergeben Sie einfach die "UnProtect" -Methode End Sub 

Wenn es ein Passwort gibt, müssen wir das Passwort in doppelte Anführungszeichen setzen. Das Passwort unterscheidet zwischen Groß- und Kleinschreibung. Denken Sie also sorgfältig daran.

Beispiel 2 - Schützen Sie alle Excel-Tabellen mit nur einem Klick

Wir haben gesehen, wie Sie den Schutz des jeweiligen Arbeitsblatts aufheben können. Stellen Sie sich vor, Sie haben viele Arbeitsblätter und alle Arbeitsblätter sind mit demselben Kennwort geschützt. Dann können wir nicht für jedes Arbeitsblatt separat Codes schreiben.

In diesen Fällen müssen wir Schleifen verwenden, um die Sammlung von Arbeitsblattobjekten zu durchlaufen und deren Schutz zu vereinfachen.

Der folgende Code durchläuft alle Arbeitsblätter und hebt den Schutz des Blattes auf.

Code:

Sub Unpretect_Example2 () Dim Ws als Arbeitsblatt für jedes Ws in ActiveWorkbook.Worksheets Ws.Unprotect Password: = "Excel @ 1234" 'Ändern Sie das Passwort, wie Sie es beim Schutz erwähnt haben. Weiter Ws End Sub

Beispiel 3 - Besondere Situationen

Situation 1: Haben Sie sich jemals vorgestellt, wann das angegebene Passwort falsch ist. Wenn das angegebene Passwort falsch ist, erhalten wir 1004: Laufzeitfehler.

Um diese Fehler zu behandeln, können wir die Option "On Error GoTo Label" verwenden. Der folgende Code ist das Beispiel dafür.

Code:

Sub Unpretect_Example3 () Dim Ws als Arbeitsblatt für jedes Ws in ActiveWorkbook.Worksheets On Error GoTo Errormessage Ws.Unprotect Password: = "Excel @ 1234" 'Ändern Sie das Passwort, wie Sie es beim Schutz erwähnt haben. Fehlermeldung: MsgBox "Falsches Passwort" Next Ws End Sub

Der obige Code zeigt ein schönes Meldungsfeld mit der Aufschrift "Falsches Passwort".

Situation 2: Wenn das Blatt ohne Kennwort geschützt ist und Sie ein zufälliges Kennwort angeben, wird der Schutz des Arbeitsblatts weiterhin aufgehoben, ohne dass Fehler angezeigt werden.

Situation 3: Wenn das Blatt durch ein Passwort geschützt ist, Sie jedoch kein Passwort angeben, wird VBA als Passworteingabefeld zur Eingabe des Passworts angezeigt.

In das obige Eingabefeld müssen wir unser Passwort eingeben, um den Schutz des Arbeitsblatts aufzuheben. Wenn Sie auf die Schaltfläche Abbrechen klicken, wird die VBA-Unterprozedur beendet, ohne dass etwas angezeigt wird, es sei denn, es gibt ein Benutzermeldungsfeld.