VBA-Schutzblatt

Excel VBA-Schutzblatt

Wir können das Excel-Blatt mit VBA-Code schützen, der es dem Benutzer nicht ermöglicht, Änderungen an den Arbeitsblattdaten vorzunehmen. Sie können lediglich den Bericht lesen. Dafür haben wir eine eingebaute vba-Methode namens "Protect".

So wie wir unsere Arbeitsblätter in Excel schützen, können wir auch VBA verwenden, um unsere Arbeitsblätter zu schützen. Dies geschieht mithilfe einer .protect-Anweisung. Es gibt zwei Methoden zum Schutz des Arbeitsblatts: eine mit Kennwort und eine ohne Kennwort. Die Syntax zum Schutz eines Arbeitsblatts ist wie folgt Arbeitsblätter (). Passwort schützen.

Normalerweise teilen wir den Abschlussbericht mit dem Benutzer oder Leser. Wenn wir den endgültigen Endbericht mit dem Benutzer teilen, möchten wir, dass der Benutzer den Endbericht nicht ändert oder manipuliert. In einem solchen Szenario dreht sich alles um Vertrauen, nicht wahr?

Syntax

Das Schützen des Blattes umfasst verschiedene Parameter, um dies zu gewährleisten, im Gegensatz zum Aufheben des Schutzes des Blattes. Schauen wir uns die Syntax der Protect-Methode mit einem Passwort an.

Beeindruckend!!! Lassen Sie sich nicht von der Syntax einschüchtern. Schauen Sie sich die Erklärung der einzelnen Argumente unten an.

  • Name des Arbeitsblatts: Zuerst müssen wir angeben, welches Arbeitsblatt wir schützen möchten.
  • Passwort: Wir müssen das Passwort eingeben, das wir zum Schutz verwenden. Wenn wir diesen Parameter ignorieren, sperrt Excel das Blatt ohne Passwort und während der Schutz des Blattes aufgehoben wird, wird der Schutz aufgehoben, ohne dass ein Passwort abgefragt wird.
  • Hinweis: Denken Sie an das Passwort, das Sie geben, denn wenn Sie es vergessen haben, müssen Sie verschiedene schwierige Wege gehen.
  • Objekt zeichnen: Wenn Sie Objekte im Arbeitsblatt schützen möchten, können Sie das Argument als TRUE oder FALSE übergeben. Der Standardwert ist TRUE.
  • Inhalt: Um den Inhalt des Arbeitsblatts zu schützen, setzen Sie den Parameter auf TRUE oder FALSE. Der Standardwert ist FALSE. Dies schützt nur gesperrte Zellen. Der Standardwert ist TRUE.
  • Szenarien: Wenn es in Excel-Szenarien eine Was-wäre-wenn-Analyse gibt, können wir sie auch schützen. Zum Schutz von TRUE oder FALSE. Der Standardwert ist TRUE.
  • Nur Benutzeroberfläche: Wenn Sie die andere Benutzeroberfläche als das Makro schützen möchten, sollte sie WAHR sein. Wenn dieses Argument weggelassen wird, werden sowohl Makros als auch die Benutzeroberfläche geschützt. Wenn Sie das Argument auf TRUE setzen, wird nur die Benutzeroberfläche geschützt. Der Standardwert ist FALSE.
  • Formatieren von Zellen zulassen: Wenn Sie dem Benutzer erlauben möchten, die Zelle zu formatieren, können Sie den Parameter auf TRUE oder FALSE setzen. Der Standardwert ist FALSE.
  • Formatieren von Spalten zulassen: Wenn Sie dem Benutzer erlauben möchten, eine Spalte im geschützten Blatt zu formatieren, können Sie den Parameter auf TRUE oder FALSE setzen. Der Standardwert ist FALSE.
  • Formatieren von Zeilen zulassen: Wenn Sie dem Benutzer erlauben möchten, eine Zeile im geschützten Blatt zu formatieren, können Sie den Parameter auf TRUE oder FALSE setzen. Der Standardwert ist FALSE.
  • Lassen Sie Spalten einfügen in VBA: Sie wollen dem Benutzer erlauben , neue Spalten eingefügt werden, dann müssen Sie diese auf TRUE setzen. Der Standardwert ist FALSE.
  • Zeilen einfügen zulassen : Wenn Sie dem Benutzer erlauben möchten, neue Zeilen einzufügen, müssen Sie dies auf TRUE setzen. Der Standardwert ist FALSE.
  • Einfügen von Hyperlinks zulassen: Wenn Sie dem Benutzer das Einfügen von Hyperlinks erlauben möchten, müssen Sie dies auf TRUE setzen. Der Standardwert ist FALSE.
  • Löschen von Spalten zulassen: Wenn Sie dem Benutzer erlauben möchten, Spalten in VBA zu löschen, müssen Sie dies auf TRUE setzen. Der Standardwert ist FALSE.
  • Löschen von Zeilen zulassen: Wenn Sie dem Benutzer das Löschen von Zeilen erlauben möchten, müssen Sie dies auf TRUE setzen. Der Standardwert ist FALSE.
  • Sortieren zulassen: Wenn Sie dem Benutzer erlauben möchten, die Daten zu sortieren, müssen Sie dies auf TRUE setzen. Der Standardwert ist FALSE.
  • Filter zulassen: Wenn Sie dem Benutzer erlauben möchten, die Daten zu filtern, müssen Sie dies auf TRUE setzen. Der Standardwert ist FALSE.
  • Zulassen der Verwendung von Pivot-Tabellen: Wenn Sie dem Benutzer die Verwendung von Pivot-Tabellen erlauben möchten, müssen Sie diese auf TRUE setzen. Der Standardwert ist FALSE.

Wie schütze ich das Blatt mit VBA-Code?

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

Schritt 1: Wählen Sie das Blatt aus, das geschützt werden soll

Um das Blatt zu schützen, müssen Sie zunächst entscheiden, welches Blatt wir mit einem Kennwort schützen möchten, und das Blatt mithilfe von vba Worksheet Object beim Namen nennen.

Angenommen, Sie möchten das als "Master Sheet" bezeichnete Blatt schützen, dann müssen Sie den Arbeitsblattnamen wie folgt angeben.

Schritt 2: Arbeitsblattvariable definieren

Nachdem Sie den Arbeitsblattnamen erwähnt haben, setzen Sie einen Punkt, aber wir sehen keine IntelliSense-Liste, mit der wir arbeiten können. Dies macht die Arbeit schwierig. Um Zugriff auf die IntelliSense-Liste zu erhalten, wird die Variable als Arbeitsblatt definiert.

Code:

 Sub Protect_Example1 () Dim Ws As Worksheet End Sub 

Schritt 3: Geben Sie die Arbeitsblattreferenz an

Stellen Sie nun den Arbeitsblattverweis auf die Variable als Arbeitsblätter („Master Sheet“) ein .

Code:

 Sub Protect_Example1 () Dim Ws As Worksheet Set Ws = Arbeitsblätter ("Master Sheet") End Sub 

Jetzt enthält die Variable "Ws" die Referenz des Arbeitsblatts "Master Sheet". Mit dieser Variablen können wir auf die Intellisense-Liste zugreifen.

Schritt 4: Wählen Sie Schutzmethode

Wählen Sie in der IntelliSense-Liste die Methode "Schützen" aus.

Schritt 5: Geben Sie das Passwort ein

Geben Sie das Passwort in doppelten Anführungszeichen an.

Code:

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

Schritt 6: Führen Sie den Code aus

Führen Sie den Code manuell oder mit der Tastenkombination F5 aus, um das als "Master Sheet" bezeichnete Blatt zu schützen .

Wenn das Blatt geschützt ist und wir dann Änderungen vornehmen möchten, wird eine Fehlermeldung angezeigt, wie unten gezeigt.

Wenn Sie mehr als ein Blatt schützen möchten, müssen wir Schleifen verwenden. Nachfolgend finden Sie den Beispielcode zum Schutz des Blattes.

 Sub Protect_Example2 () Dim Ws als Arbeitsblatt für jedes Ws in ActiveWorkbook.Worksheets Ws.Protect Password: = "My Passw0rd" Next Ws End Sub 

Hinweis: Verwenden Sie zum Experimentieren andere Parameter.