ich habe dummerweise in einer mühsam erstellten Excel-Datei, einige Bereiche mit einem Blattschutz versehen, um sie vor versehentlichen Änderungen zu schützen und jetzt das Passwort vergessen.
Bei der Suche nach Lösungen habe ich zwar im Internet einige Vorschläge für entsprechende VBA-Programme gefunden, die auch bei Office 2013 helfen sollen, mein Excel hängt sich aber dabei immer wieder auf.
Um das zu konkretisieren: Am oberen Fensterrand erscheint der Hinweis: "Dateiname.xlsm - Excel (Keine Rückmeldung)". Im Task-Manager wird Excel mit dem Status "inaktiv" angezeigt.
Wenn ich die Programme dagegen im Debug-Einzel- oder Procedurschritt ausprobiere, funktionieren sie. Da das Passwort aber aus sechs Zeichen besteht, zwei Buchstaben und vier Ziffern,
bekäme ich bei dieser Methode vermutlich wunde Finger, bevor ich auf die Lösung stoße. Ich hoffe deshalb hier auf einen Hinweis, was im Programm der Fehler ist.
Sub Blatt_entsichern()
Dim Kennwort As String
Dim a1 As Integer
Dim a2 As Integer
Dim z1 As Integer
Dim z2 As Integer
Dim z3 As Integer
Dim z4 As Integer
On Error Resume Next
For a1 = 32 To 122: For a2 = 32 To 122
For z1 = 48 To 57: For z2 = 48 To 57
For z3 = 48 To 57: For z4 = 48 To 57
Kennwort = Chr(a1) & Chr(a2) & Chr(z1) & Chr(z2) & Chr(z3) & Chr(z4)
ActiveSheet.Unprotect Kennwort
If ActiveSheet.ProtectContents = False Then
MsgBox "Arbeitsmappen-Schutz abgeschaltet" & vbCr & "Kennwort lautet:" & vbCr & Kennwort
End If
Next z4: Next z3: Next z2: Next z1: Next a2: Next a1
End Sub
Das Programm habe ich auf meine Kennwort-Größe hin modifiziert und möglicherweise schon da einen Fehler gemacht.
Vielleicht hat jemand ja auch einen Vorschlag, wie sich das Programm so schreiben lässt, das man auf die "On Error Resume.."-Methode verzichten kann und statt dessen genauere Fehlerhinweise erhält.
Gruß, rivasol