Excel VBA-Schutzblatt
Das Schützen eines Arbeitsblatts ist eine wichtige Aufgabe für diejenigen, die sehr häufig an Microsoft Excel arbeiten. Es ist eine Aufgabe, die Sie ausführen müssen, um zu verhindern, dass Ihr Blatt von einem anderen Benutzer bearbeitet wird. Angenommen, Sie senden einen Bericht an das Management, und das Management ändert dann wissentlich oder versehentlich die Parameter oder Werte über den Bericht. Es wird hektisch, den Fehler zu identifizieren, und gleichzeitig ist die Nacharbeit etwas, das Ihre Zeit in Anspruch nimmt. Um dieses Problem zu beheben, ist es immer ratsam, ein Blatt / Blätter für die Bearbeitung mit einem Kennwort zu schützen. Mit dieser Option können Sie verhindern, dass ein Benutzer Änderungen an den Arbeitsblättern vornimmt. Sie können das Passwort auch an die Person weitergeben, die dazu berechtigt ist, die Änderungen vorzunehmen. Obwohl Excel die Option Arbeitsblatt schützen über die Registerkarte Überprüfen in der Excel-Multifunktionsleiste enthält, wird es hektisch, wenn Sie mehr als ein Blatt schützen müssen. Es wird viel Zeit in Anspruch nehmen, jedes Blatt einzeln zu schützen. Stattdessen empfiehlt es sich, einen VBA-Code zu schreiben, der einzelne oder mehrere Blätter aus Ihrer Arbeitsmappe zum Bearbeiten schützen kann.
Syntax des VBA-Schutzblatts
Mit dieser in Worksheet integrierten VBA-Funktion können Sie das Arbeitsblatt mithilfe eines Kennworts schützen. Die Syntax für die VBA Protect Sheet-Funktion lautet wie folgt:
Alle Parameter sind in dieser Funktion optional, was Sie anhand der eckigen Klammern erraten können, die für jeden von ihnen angegeben wurden.
- Passwort: Gibt das Passwort für das Blatt an. Wenn nicht angegeben, wird das Blatt ohne Passwort geschützt und der Benutzer kann es bearbeiten, ohne nach einem Passwort gefragt zu werden.
- DrawingObjects: Optionale Argumente, mit denen Sie verschiedene Formen des Arbeitsblatts schützen können. Nimmt Boolesche Werte an. Standardmäßig auf FALSE gesetzt.
- Inhalt: Optionales Argument. Schützt alle Objekte. Standardmäßig ist TRUE eingestellt.
- Szenarien: Schützt alle verschiedenen Szenarien. Der Standardwert ist TRUE.
- UserInterfaceOnly: Es schützt die Benutzeroberfläche, aber nicht die Makros. Der Standardwert ist TRUE, wenn das Makro ignoriert wird und die Benutzeroberfläche geschützt ist.
- AllowFormattingCells: Der Standardwert ist FALSE, da der Benutzer die Zellen des Arbeitsblatts nicht formatieren kann. Wenn TRUE festgelegt ist, kann der Benutzer die Zellen aus dem Blatt formatieren.
- AllowInsertingColumns: Der Standardwert ist FALSE. Wenn TRUE festgelegt ist, kann der Benutzer eine Spalte in das Blatt einfügen.
- AllowInsertingRows: Der Standardwert ist FALSE. Wenn TRUE festgelegt ist, kann der Benutzer Zeilen in das Blatt einfügen.
- AllowInsertingHyperlinks: Der Standardwert ist FALSE. Wenn TRUE festgelegt ist, kann der Benutzer Hyperlinks in das Blatt einfügen.
- AllowDeletingColumns: Der Standardwert ist FALSE. Wenn TRUE festgelegt ist, kann der Benutzer jede Spalte aus dem Blatt löschen.
- AllowDeletingRows: Der Standardwert ist FALSE. Wenn TRUE festgelegt ist, kann der Benutzer eine beliebige Anzahl von Zeilen aus dem Blatt löschen.
- AllowSorting: Der Standardwert ist FALSE. Wenn TRUE festgelegt ist, kann der Benutzer die im Blatt vorhandenen Daten sortieren.
- AllowFiltering: Der Standardwert ist FALSE. Wenn TRUE festgelegt ist, kann der Benutzer die im Blatt vorhandenen Daten filtern.
- AllowUsingPivotTables: Der Standardwert ist FALSE. Wenn TRUE festgelegt ist, kann der Benutzer die Pivot-Tabellen verwenden und ändern.
Wie Blatt in Excel VBA schützen?
Im Folgenden finden Sie verschiedene Beispiele zum Schützen von Arbeitsblättern in Excel mithilfe von VBA Protect.
Sie können diese Excel-Vorlage für VBA-Schutzblätter hier herunterladen - Excel-Vorlage für VBA-SchutzblätterVBA-Schutzfolie - Beispiel 1
Angenommen, wir haben ein Blatt mit dem Namen "Beispiel 1" in einer Arbeitsmappe mit dem Namen "VBA-Schutzblatt". Wir möchten, dass dieses Blatt mit einem Passwort geschützt wird. Führen Sie dazu die folgenden Schritte aus:
Schritt 1: Fügen Sie ein neues Modul in Visual Basic Editor (VBE) ein. Klicken Sie auf Einfügen > wählen Sie Modul .
Schritt 2: Definieren Sie eine neue Subprozedur innerhalb des Moduls.
Code:
Sub Example_1 () End Sub
Schritt 3: Jetzt müssen wir die Schutzfunktion verwenden, die auf ein Objekt namens Arbeitsblatt angewendet werden kann. Beginnen Sie den Code mit dem Worksheets- Objekt und geben Sie den Namen eines Arbeitsblatts in Klammern ein, die geschützt werden sollen.
Code:
Sub Example_1 () Arbeitsblätter ("Beispiel 1") End Sub
Schritt 4: Fügen Sie nun nach den schließenden Klammern einen Punkt ein und verwenden Sie das Schlüsselwort "Protect", das den Schutzvorgang für das Blatt " Example 1 " initiiert.
Code:
Sub Example_1 () Arbeitsblätter ("Beispiel 1"). Protect End Sub
Sie können hier anhalten, während Sie ein Blatt schützen. Da alle Argumente optional sind, ist Ihr Arbeitsblatt immer noch geschützt, fordert den Benutzer jedoch nicht auf, das Kennwort einzugeben, bevor Sie es bearbeiten, und entspricht einem ungeschützten Arbeitsblatt. Sie würden es sicherlich nicht so wollen. Fügen Sie daher im nächsten Schritt ein sicheres Kennwort hinzu, um dieses Blatt zu schützen.
Schritt 5: Geben Sie das Kennwort ein und verwenden Sie ein sicheres Kennwort, um dieses Blatt zu schützen.
Code:
Sub Example_1 () Arbeitsblätter ("Beispiel 1") Protect Password: = " " End Sub
Wir werden nur das erste Argument der Funktion verwenden, das als Passwort aufgerufen wird, und im Übrigen werden alle Argumente mit den Standardwerten verwendet.
Schritt 6: Dies ist es, Sie können diesen Code ausführen, indem Sie F5 oder Ausführen drücken und sehen, dass die Datei jetzt geschützt ist. Sobald Sie versuchen, eine der Zellen zu bearbeiten, werden Sie nach dem Kennwort gefragt.
So schützen wir ein Blatt mit der VBA-Schutzfunktion.
VBA-Schutzfolie - Beispiel 2
Jetzt möchten wir alle in einer Arbeitsmappe vorhandenen Blätter schützen. Führen Sie dazu die folgenden Schritte aus:
Schritt 1: Definieren Sie eine Unterprozedur im Modul.
Code:
Sub Example_2 () End Sub
Schritt 2: Definieren Sie eine neue Variable als Arbeitsblatt mit Dim.
Code:
Sub Example_2 () Dim wrk_sht As Worksheet End Sub
Schritt 3: Starten Sie eine For-Schleife. Diese Schleife sollte bis zum letzten Arbeitsblatt der aktiven Arbeitsmappe ausgeführt werden.
Code:
Sub Example_2 () Dim wrk_sht als Arbeitsblatt für jeden wrk_sht in ActiveWorkbook.Worksheets End Sub
Diese Codezeile wählt jedes Arbeitsblatt der aktiven Arbeitsmappe aus und speichert es unter der Variablen wrk_sht für jede Iteration der Schleife. Die Schleife endet, sobald das letzte Blatt der Arbeitsmappe ausgewählt und in der Variablen wrk_sht gespeichert wurde. Wir müssen eine Operation für diese Schleife definieren. Es wird sicherlich das Blatt mit einem Passwort schützen.
Schritt 4: Verwenden Sie jetzt die Schutzfunktion, um die Blätter zu schützen, die bei jeder Iteration der For-Schleife unter der Variablen wrk_sht gespeichert werden.
Code:
Sub Example_2 () Dim wrk_sht als Arbeitsblatt für jedes wrk_sht in ActiveWorkbook.Worksheets wrk_sht.Protect Password: = " " End Sub
Schritt 5: Verwenden Sie die Next- Anweisung, damit die Schleife ausgeführt werden kann, bis jedes Arbeitsblatt geschützt ist.
Code:
Sub Example_2 () Dim wrk_sht als Arbeitsblatt für jedes wrk_sht in ActiveWorkbook.Worksheets wrk_sht.Protect Password: = " " Next End Sub
Wenn Sie diesen Code ausführen, wird jedes Arbeitsblatt der aktiven Arbeitsmappe durch ein Kennwort geschützt, und Sie müssen es jedes Mal eingeben, wenn Sie die Blätter bearbeiten möchten.
Dinge, an die man sich erinnern sollte
- Es wird empfohlen, ein Kennwort zu verwenden, während Sie ein Blatt schützen. Andernfalls wird der Benutzer nicht zur Eingabe eines Kennworts aufgefordert und kann die Datei direkt bearbeiten, obwohl Sie sie geschützt haben.
- Es wird empfohlen, sich das Passwort zu merken. Wenn Sie dies nicht beachten, können Sie die Datei niemals bearbeiten. Möglicherweise müssen Sie die verschiedenen Methoden durchgehen, wenn Sie das Kennwort verlieren und diese Methoden den Rahmen dieses Artikels sprengen.
Empfohlene Artikel
Dies ist eine Anleitung zum VBA-Schutzblatt. Hier erläutern wir das Schützen oder Sperren von Arbeitsblättern mithilfe der VBA-Schutzfunktion in Excel sowie praktische Beispiele und herunterladbare Excel-Vorlagen. Sie können auch unsere anderen Artikelvorschläge durchgehen -
- Wie Blatt in Excel VBA umbenennen?
- Schritte zum Aufheben des Blattschutzes in Excel
- VBA-Aktivierungsblatt (Beispiele mit Excel-Vorlage)
- Wie kopiere ich eine Excel-Tabelle?