VBA-Arbeitsmappenschutz (Passwortschutz / Schutz aufheben)

Excel bietet Ihnen die Möglichkeit, Ihre Excel-Arbeitsmappen vor Änderungen zu schützen. In diesem Tutorial erfahren Sie, wie Sie die Arbeitsmappenstruktur mit VBA schützen oder deren Schutz aufheben.

VBA-Arbeitsmappenschutz

Mit dem VBA-Arbeitsmappenschutz können Sie die Struktur der Arbeitsmappe sperren. Wenn eine Arbeitsmappe geschützt ist, können Benutzer keine Arbeitsblätter hinzufügen, löschen, ausblenden/einblenden oder schützen/deren Schutz aufheben. Wenn Sie ein Modell erstellen, möchten Sie wahrscheinlich den Arbeitsmappenschutz aktivieren, um zu verhindern, dass Benutzer (oder Sie!) Arbeitsblätter versehentlich löschen.

UnProtect Workbook VBA

Um den Schutz einer Arbeitsmappe aufzuheben, verwenden Sie einfach die folgende Codezeile:

1 Arbeitsmappen("Buch1").Schutz aufheben

Hinweis: Dieser Code funktioniert nur, wenn die Arbeitsmappe geschützt war ohne ein Passwort. Wenn es mit einem Passwort geschützt war, müssen Sie auch das Passwort eingeben, um den Schutz aufzuheben:

UnProtect-Arbeitsmappe mit Passwort aufheben

Diese Codezeile hebt den Schutz einer mit einem Kennwort geschützten Arbeitsmappe auf:

1 Workbooks("Book1").Unprotect Password:="password"

oder Sie können Passwort weglassen:=

1 Workbooks("Book1").Schutz für "Passwort" aufheben

Schutz dieser Arbeitsmappe aufheben

Dieser Code hebt den Schutz von ThisWorkbook auf (ThisWorkbook ist die Arbeitsmappe, in der der ausgeführte Code gespeichert ist. Er wird sich nie ändern).

1 ThisWorkbook.Unprotect

oder entschütze ThisWorkbook mit einem Passwort:

1 ThisWorkbook.Unprotect "Passwort"

UnProtect ActiveWorkbook

Dieser Code hebt den Schutz des ActiveWorbook auf.

1 ActiveWorkbook.Unprotect

oder heben Sie den Schutz des ActiveWorkbook mit einem Passwort auf:

1 ActiveWorkbook.Unprotect "Passwort"

Schutz aller geöffneten Arbeitsmappen aufheben

Dieser Code hebt den Schutz aller geöffneten Arbeitsmappen auf:

12345678 Unter UnprotectAllOpenWorkbooks()Dim wb als ArbeitsmappeFür jedes wb in Arbeitsmappenwb.Schutz aufhebenNächstes wbEnd Sub

UnProtect Workbook - Ohne Passwort zu wissen

Wenn Sie den Schutz einer Arbeitsmappe aufheben müssen, ohne das Kennwort zu kennen, stehen Ihnen mehrere Add-Ins zur Verfügung. Ich würde Ribbon Commander empfehlen.

Schutz für alle Blätter in der Arbeitsmappe aufheben

Nachdem Sie den Schutz einer Arbeitsmappe aufgehoben haben, möchten Sie möglicherweise auch den Schutz aller Blätter in der Arbeitsmappe aufheben. So wird der Schutz aller Blätter aufgehoben:

12345678 Unter UnProtectWorkbookAndAllSheets()Dim ws als ArbeitsblattActiveWorkbook.UnprotectFür jedes ws in Arbeitsblätternws.Schutz aufhebenNächsteEnd Sub

Arbeitsmappe schützen

Sie können Arbeitsmappenstrukturen genauso schützen, wie Sie den Schutz aufheben.

Arbeitsmappe ohne Passwort schützen

Diese Codezeile schützt eine Arbeitsmappe (kein Passwort)

1 Arbeitsmappen("Buch1").Schützen

Hinweis: Ich wende Arbeitsmappenschutz oft ohne Passwörter an, nur um dies zu verhindern versehentlich Änderungen an Arbeitsmappen.

Arbeitsmappe mit Passwort schützen

Dieser Code schützt die Arbeitsmappenstruktur (mit einem Passwort)

1 Workbooks("Book1").Protect "password"

oder:

1 Workbooks("Book1").Protect Password:="password"

Excel-Datei mit Passwort schützen

Anstelle des Arbeitsmappenschutzes möchten Sie möglicherweise eine gesamte Excel-Datei mit einem Kennwort schützen. Um dies mit VBA zu tun, speichern Sie als die Arbeitsmappe mit einem Kennwort:

1 Workbooks("Book1").SaveAs "password"

Beispiele für Protect/UnProtect-Arbeitsmappen

Alle Arbeitsblätter in der geschützten Arbeitsmappe einblenden

Durch dieses Verfahren wird der Schutz einer Arbeitsmappe aufgehoben, alle Arbeitsblätter ausgeblendet und die Arbeitsmappe erneut geschützt

12345678910 Unter UnprotectWB_Unhide_All_Sheets()Dim ws als ArbeitsblattActiveWorkbook.UnprotectFür jedes ws in Arbeitsblätternws.Visible = xlSheetVisibleNächsteActiveWorkbook.ProtectEnd Sub

Arbeitsmappe und alle Blätter schützen

Dieses Verfahren schützt alle Arbeitsblätter in einer Arbeitsmappe und schützt dann die Arbeitsmappe:

1234567891011 Unter ProtectWB_Protect_All_Sheets()Dim ws als ArbeitsblattActiveWorkbook.UnprotectFür jedes ws in Arbeitsblätternws.ProtectNächsteActiveWorkbook.ProtectEnd Sub

Sie können auch einen Passwortschutz hinzufügen:

1234567891011 Unter ProtectWB_Protect_All_Sheets_Pswrd()Dim ws als ArbeitsblattActiveWorkbook.Unprotect "Passwort"Für jedes ws in Arbeitsblätternws.Protect "Passwort"NächsteActiveWorkbook.Protect "Passwort"End Sub
wave wave wave wave wave