Excel VBA – Wie Sie den Blattschutz ohne Kennwort aufheben
Dieser Beitrag ist ein Teil der VBA Grundlagen Serie.
Wenn Sie das Passwort für den Blattschutz von Excel vergessen haben, ist es nicht das Ende der Welt. Dieser lässt sich mit ein paar Kniffen aufheben. In diesem Artikel zeige ich, wie Sie das Kennwort entfernen können.
Microsoft verwendet bei verschiedenen Excel Versionen unterschiedliche Verschlüsselungsmechanismen. Daher habe ich diesen Beitrag aufgeteilt:
Excel Versionen 2010 und älter
In den Excel Versionen bis 2010 wird ein relativ einfacher Algorithmus für die Verschlüsselung von Passwörtern verwendet. Die Passwörter werden als Hashwert gespeichert, welcher maximal 16 Bit (4 Zeichen) enthalten kann. Bei der Entschlüsselung wird das Passwort mit dem generierten Hash verglichen. Dadurch ergeben sich 2^16 = 65.536 Möglichkeiten.
Ein kleines Beispiel zur Verdeutlichung. Schützen Sie Ihr Arbeitsblatt mit dem Passwort test
. Drücken Sie nun Blattschutz aufheben und geben Sie stattdessen zzyw
oder BBAb
ein. Der Blattschutz wird aufgehoben! Da der Hashwert sehr kurz ist, teilen sich viele verschiedene Passwörter denselben Hashwert.
So sieht der Hash in XML aus:
Daher kann man mit der Bruteforce Methode alle möglichen Kombinationen in wenigen Sekunden durchgehen. Dazu legen wir ein Makro an. Rufen Sie dazu die Entwicklungsumgebung mit der Tastenkombination ALT + F11
auf und fügen Sie ein neues Modul ein.
Fügen Sie nun den folgenden Code ein:
Sub Blattschutz_Aufheben() On Error Resume Next For i = 65 To 66 For j = 65 To 66 For k = 65 To 66 For l = 65 To 66 For m = 65 To 66 For n = 65 To 66 For o = 65 To 66 For p = 65 To 66 For q = 65 To 66 For r = 65 To 66 For s = 65 To 66 For t = 32 To 126 ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & _ Chr(n) & Chr(o) & Chr(p) & Chr(q) & Chr(r) & Chr(s) & Chr(t) Next t Next s Next r Next q Next p Next o Next n Next m Next l Next k Next j Next i MsgBox "Der Blattschutz wurde aufgehoben." End Sub
Führen Sie nun das Makro mit der Taste F5
aus. In wenigen Sekunden erscheint die Meldung, dass der Blattschutz erfolgreich entfernt wurde.
111 VBA Makros die Ihr Leben leichter machen
Wollen Sie Ihre langweiligen Routineaufgaben loswerden? Möchten Sie Excel an Ihre Bedürfnisse anpassen, Berechnungen automatisieren, eigene Dialogfelder erstellen und vieles mehr? Dieses Buch zeigt Ihnen, wie Sie Ihre Aufgaben schnell und einfach mit VBA erledigen.
Excel Versionen 2013 und neuer
In den neueren Versionen von Excel wird ein verbesserter SHA-512 Algorithmus verwendet. Wenn man sich das Ganze in XML anschaut sieht man den Unterschied.
Der Hashwert ist wesentlich länger, darüber hinaus ist mit Salt eine zufällige Zeichenfolge hinzugefügt worden. Dieser Algorithmus lässt sich nicht in einer Paar Sekunden knacken.
Allerdings lässt sich das Ganze relativ einfach umgehen. Es dauert nur etwas länger – eine Minute statt Sekunden. So geht es:
Alle Excel Dateien sind im Grunde Archive mit XML Dateien. Hängen Sie zunächst .zip
an das Ende des Dateinamens an. So wird blattschutz.xlsx
zum blattschutz.xlsx.zip
Bestätigen Sie die Warnmeldung mit Ja.
Nun hat sich die Excel Datei in ein Archiv verwandelt.
Dieses können Sie ganz normal mit Windows Explorer öffnen.
Falls es mit Ihrer Windows Version nicht geht, können Sie zu einem Packprogramm wie WinRAR oder 7zip greifen.
Öffnen Sie den Ordner xl
und anschließend worksheets
.
In diesem Ordner befinden sich die Arbeitsblätter. In unserem Fall gibt es nur das Eine, sheet1.xml
. Das zweite Arbeitsblatt heißt dann sheet2.xml
, das dritte sheet3.xml
und so weiter.
Kopieren Sie die Datei sheet1.xml
auf den Desktop und öffnen Sie diese mit dem Notepad Editor. Lassen Sie dabei den Ordner offen.
Suchen Sie (Tastenkombination STRG+F) nach sheetProtection
.
Löschen Sie nun alles, was nach sheetProtection
und vor />
kommt. Am Ende sollte es so aussehen:
<sheetProtection />
Speichern Sie nun die Datei und schließen Sie den Editor. Kopieren Sie die geänderte sheet1.xml
Datei zurück in den worksheets
Ordner. Überschreiben Sie das Original.
Schließen Sie nun den Ordner. Löschen Sie die Endung .zip
aus dem Dateinamen. So wird blattschutz.xlsx.zip
wieder zum blattschutz.xlsx
Wenn Sie diese Excel Datei nun öffnen, ist der Blattschutz aufgehoben.
Die Beispiel Excel Datei mit dem sofort einsetzbaren Makro und 111+ andere Makros, die Ihr Leben leichter machen, finden Sie hier.
Beeindrucke deinen Chef mit coolen Excel Tricks!
- Lasse dich von deinen Kollegen nicht abhängen!
- Spare Zeit und nutze diese für angenehmere Dinge
- Steigere deine Produktivität und Effizienz
- Es ist leicht - In meinem Newsletter gebe ich Schritt für Schritt Anleitungen die jeder versteht
- Bei der Anmeldung zu meinem Newsletter erhälst du das Buch „Excel Tricks die deinen Chef beeindrucken“ als Willkommensgeschenk.


Falls Ihnen dieser Beitrag weitergeholfen hat, wäre es eine sehr nette Anerkennung meiner Arbeit wenn Sie z.B. Ihre Bücher über Amazon bestellen würden. Wenn Sie ein Produkt kaufen, erhalte ich dafür eine Provision. Für Sie ändert sich am Preis des Produktes gar nichts. Ich möchte mich an dieser Stelle jetzt schon für Ihre Unterstützung bedanken.
Bildquelle: Pexels, CC0 Public Domain
Hallo vielleicht können Sie mir helfen? Ich habe 2 userformen. Die erste hat 6 Combo boxen 14 Textboxen und 1 commandbutton. Die zweite hat nur 1 Listbox jetzt möchte ich wenn ich in UF 1 auf den Button klicke die inhalte der Text und Comboboxen Spalten weise in die list boxbgeladen werden.
können Sie mir vielleichteinen Tipp geben?
Freundliche grüße
andrew
Die Anweisung hat mit sehr geholfen, vielen Dank !
Sie ist allerdings hinsichtlich Excel 2013 nicht ganz richtig. Es muss der komplette XML-Eintrag von „“ geloescht werden.
Andernfalls funktioniert es nicht vollständig.
Noch ein Hinweis für Linux bzw. Open- und Libre-Office Benutzer:
In OO und OL funktioniert die Drop-Down-Liste von Excel 2013 nicht richtig.
Damit Excel 2013 Tabellen mit Drop-Down-Listen auch unter OO und OL problemlos funktionieren muss man die xlsx Tabelle unter Excel mit „Save as Excel 97-2003-Arbeitsmappe“ speichern.
Anschließend kann man die erzeugte XML Tabelle funktionsfähig in OO/OL laden.
Da bei Kommentaren auf dieser Seite offenbar HTML/XML code ausgefilter wird, wird der zu loeschende String nicht angezeigt.
Wendet Euch bitte an den Webmaster falls Ihr die Info benoetigt.
Ich konnte das Problem mit den obigen Ausführungen bei meiner Datei leider nicht lösen. Da ich Excel 2016 nutze funktioniert das Makros nicht und es ist nur die zweite Variante (Zip) möglich. Diese Variante habe ich mit einer beliebigen xlsx Datei ausprobiert und konnte dort den Blattschutz aufheben. Leider handelt es sich bei meiner Datei um eine Datei mit Makros, also eine xlsm. Wenn ich die Zip-Variante dort probiere, bleibt der Blattschutz bestehen. Gibt es dafür noch eine Lösung? Muss man vielleicht noch eine zweite Datei aus den Zip-Ordnern ändern? Das Abspeichern als xlsx ist keine Lösung, da die Makros nicht verloren gehen sollen.
Danke, hat mir sehr geholfen! Ging bei Excel 2016 einwandfrei, um einen mir unerklärlichen Blattschutz wieder zu entfernen.
Hallo zusammen,
beim ausführeden des Codes erscheint bei mir die Fehlermeldung „Fehler beim Kompilieren: Variable nicht defniert.
Obwohl ich wie abgebildet alles korrekt mache, kommt diese Fehlermeldung.
Was mache ich falsch?
Kann mir jemand helfen?
Besten Dank im Voraus.
VG
Memo
TipTop
Leider funktioniert das unter Excel 2016 nicht so ganz. Die Arbeitsmappe ist zwar entsperrt, aber „Arbeitsmappe schützen“ immer noch aktiv. Klicke ich drauf, wird das Passwort angefordert.
Kann jemand helfen?
im workbook.xml ebenfalls protection entnehmen
Von Programmierung habe ich keine Ahnung (bin nur Userin). Aber mit dieser super Anleitung hab‘ ich die Arbeitsblätter in meiner Datei entsperren können. Bin total happy. Vielen, vielen Dank.
Geniales Teil !! .. hat mir grad am SO am Abend das Leben gerettet .. ich kauf dein Buch!!!
LG