VBA UnProtect Sheet - Verwenden Sie VBA-Code, um den Schutz der Excel-Tabelle aufzuheben

Inhaltsverzeichnis

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

Beispiel 1

Das Aufheben des Schutzes des Blattes ist zu 99% einfacher als das Schützen. Wir brauchen nur das Passwort, 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 Blattes "Verkaufsdaten" 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 doppelten Anführungszeichen eingeben. 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: Have ever imagined when the supplied password is wrong. When the supplied password is wrong, we will get the 1004: Run Time Error.

To handle these errors, we can use the “On Error GoTo Label” option. The below code is an example of the same.

Code:

Sub Unpretect_Example3() Dim Ws As Worksheet For Each Ws In ActiveWorkbook.Worksheets On Error GoTo Errormessage Ws.Unprotect Password:="Excel@1234" 'Change the password as you have mentioned while protecting them. Errormessage: MsgBox "Wrong Password" Next Ws End Sub

The above code will show a nice message box saying, “The wrong Password.”

Situation 2: When the sheet is protected without a password, and if you supply a random password, it will still unprotect the worksheet without showing any kind of errors.

Situation 3: Wenn das Blatt durch ein Kennwort geschützt ist, Sie jedoch kein Kennwort angeben, wird VBA als Kennworteingabefeld zur Eingabe des Kennworts 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.

Interessante Beiträge...