Microsoft Excel Blattschutz aufheben bei vergessenem Passwort

 in Anleitungen, Microsoft Office, Sicherheit

Hat man einmal das Kennwort für einen Excel Blattschutz vergessen, ist dasExcel_Marko kein Grund zur Panik.
Mit wenigen Schritten können wir diesen ohne Passwort aufheben.

1. Öffne die geschützte Excel Datei.
2. Öffne den Marko- bzw. VisualBasic-Editor mit der Tastenkombination „Alt + F11“
3. Wähl im linken Menü „Diese Arbeitsmappe“ und klicke auf „Einfügen“ und wähle die Option „Modul“ aus.
4. In dem Editorfeld „Modul1“ fügst du folgenden Text hinzu.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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 "Fertig, der Blattschutz wurde aufgehoben"
End Sub

5. Dieses Modul speicherst du mit der Tastenkombination „Strg + S“ und schließe den Editor.
6. Um den Blattschutz nun aufzuheben drücke „Alt + F8“, wähle das Modul „BlattschutzDeaktivieren“ und klicke auf „Ausführen“.

Et Voilà, Fertig.

Das Modul kann im Anschluss wieder entfernt werden („Alt + F11“ und dort mit Rechtsklick auf das „Modul1“ und „löschen“ klicken).

Hinweis: Das Makro wurde mit Office XP, 2010 und 2013 erfolgreich getestet

Die Verschlüsselung des Blattschutzes von Microsoft Excel ist relatv Simpel.

LSLJedes Zeichen des Passworts enstpricht einem achtstelligen Binärwert (8 Bit).
Beim vergeben eines Kennworts wird dieser Binärwert von 8 Bit um eine Position nach links (LSL, Logical Shift Left, siehe linkes Bild) verschoben, was im dezimalen Raum einer Multiplikation mit 2 gleichkommt.
Durch die Verschiebung um eine Position des ersten Zeichens verlängert sich die Binährzahl nun von 8 auf 9. Beim zweiten Zeichen von 9 auf 10 und so weiter.

Bei Excel wurde die Binärzahl jedoch auf 16 Bit begrentzt, was bedeutet, das ab dem 9 Zeichen des Passworts eine sogenannte BIT-Rotation für die überzähligen Stellen stattfindet.
Somit verkürzt sich der Binärstring um jeweils eine Stelle pro Zeichen damit der Binärwert ab dem 9 Zeichen auch 16-stellig bleibt. Der Binärwert und die einzelnen Werte werden dann über die hexadezimale Konstante 0xCE4B mit exklusives Oder (XOR) verknüpft.
Aus dieser Berechnung wird ansließend der Wert errechnet der dann in der Tabelle gespeichert wird.

Durch die auf maximal 16 Bit begrenzte Binärzahl entstehen so maximal 65.536 Möglichkeiten an Hashwerten. Das Makro nutzt also die Tatsache, dass nicht jedes Kennwort aufgrund dieser Begrenzung einen eindeutigen Hashwert erhalten kann um den Blattschutz zu deaktivieren.

  • Celina Altenhofen

    Was soll ich tun, wenn sich das Programm noch nicht mal mehr beenden lässt? Nur noch über den task-manager, aber selbst da läuft es im Hintergrund weiter..

    • Ptrck

      Hallo @celinaaltenhofen:disqus, da hilft wohl nur Excel komplett über den Task-Manager zu beenden und es nochmals zu versuchen. Ist vielleicht die CPU oder der RAM ausgelastet?

  • Eric Unterberg

    Fantastisch, besten Dank. Hat in Excel 2010 perfekt funktioniert. Habe es in Zeile 18 noch um
    If ActiveSheet.ProtectContents = False Then
    MsgBox „Fertig, der Blattschutz wurde aufgehoben“
    Exit Sub
    End If
    erweitert. Dann hört er auf sobald es funktioniert hat und er probiert nicht sinnlos weiter.

  • Sanne s

    Und ich konnte das in Modul 1 NICHT untereinander schreiben…

  • Sanne s

    Hallo von mir möchte er jetzt ein Makroname:

  • Josef Taverner

    Wie lange darf das dauern? Ich warte jetzt schon 2 Studen und es arbeitet noch immer.

    • Hallo @joseftaverner:disqus, das ganze sollte nur wenige Sekunden dauern.
      Was für eine Office Version benutzt du?

      Grüße
      Patrick

      • Josef Taverner

        2013 – es arbeitet noch immer – hab es auch schon mal abgebrochen und erneut probiert.

  • Marc

    Bei Office 365 klappt das allerdings nicht.. Excel hängt sich auf. einen Tipp? Grüße

  • Hat du auch das makro mit Sub Blattschutz…. eingeleitet? Alternativ müsste mal geprüft werden ob der Standard für den Makro Ordner in der die makro.dot liegt noch stimmt. Das geht unter Extras -> Optionen -> Speicherorte.

  • Enni

    bei mir klappt es leider nicht. Da kommt immer eine Fehlermeldung. Und zwar: Fehler beim Kompilieren: Außerhalb einer Prozedur ungültig. Was heißt das?

    • Hat du auch das makro mit Sub Blattschutz…. eingeleitet? Alternativ
      müsste mal geprüft werden ob der Standard für den Makro Ordner in der
      die makro.dot liegt noch stimmt. Das geht unter Extras -> Optionen -> Speicherorte.

      • Stefan Günther

        Hallo,

        ich habe dasselbe Problem. Was meinst du mit „Sub Blattschutz…eingeleitet“? Wenn ich das Makro aufrufe erscheint die Arbeitsmappe mit den Name und anschließend das Makro –> also in etwa so “ „‚NameArbeitsmappe.xlsm‘!Modul1.Blattschutz_aufheben“

        Gruß

        • Was für eine Office Version hat du denn?

          • Stefan Günther

            Hallo, alles gut. Es funktioniert alles. Von mir auch ein dicker Daumen hoch.

  • Super, hat bei mir auch funktioniert. Fetter Daumen hoch!

  • Andreas Brunner

    Super. Hat funktioniert. Danke !!

Schreibe deinen Suchbegriff und drücke Enter oder auf die Lupe