Jeder, der Datenanalysen durchführt, weiß, dass die Richtigkeit der Originaldaten sehr wichtig ist. Oft führt ein Datenfehler zu einer großen Abweichung in den Ergebnissen.
Daher werden die Daten nach der Eingabe und dem Korrekturlesen im Arbeitsblatt geschützt, um Fehlbedienungen oder zufälliges Kopieren durch andere zu verhindern.
Da sich das Tempo des modernen Lebens jedoch beschleunigt und Passwörter an zu vielen Orten verwendet werden, kommt es häufig vor, dass Passwörter vergessen werden. Fühlen Sie sich nicht deprimiert, wenn Sie ein Arbeitsblatt, an dem Sie so hart gearbeitet haben, nicht mehr ändern können, weil Sie Ihr Passwort vergessen haben?
Was sollen wir jetzt tun? Mach es nochmal? Tatsächlich muss es gar nicht so mühsam sein. Im Folgenden werde ich Ihnen zwei häufig verwendete Methoden zum Löschen von Arbeitsblattschutzkennwörtern vorstellen.
Verwenden Sie VBA zum Löschen
1. Klicken Sie in der Menüleiste auf „Entwicklungstools“, wählen Sie „Makro aufzeichnen“ und zeichnen Sie ein Makro mit dem Namen „Arbeitsblatt-Schutzkennwort löschen“ auf (Sie können die Makrodatei nach Ihren eigenen Gewohnheiten benennen).
2. Klicken Sie erneut auf „Entwicklungstools“ in der Menüleiste, wählen Sie „Makro“, öffnen Sie das Makro-Dialogfeld und wählen Sie unter „Makroname“ die neu erstellte Makrodatei aus. und klicken Sie dann auf „Bearbeiten“, um das Bearbeitungsfenster für Makros (VBA) zu öffnen.
3. Wählen Sie „VBAProject PERSONAL,XLSB“ → „Modul“ → „Modul 2“ auf der linken Seite des Makro-(VBA)-Bearbeitungsfensters und ändern Sie das Nachher Löschen Sie den ursprünglichen Inhalt im Codefenster, kopieren Sie den folgenden Code, fügen Sie ihn in das Codefenster ein und speichern Sie ihn.
4. Klicken Sie erneut auf „Entwicklungstools“, wählen Sie „Makro“, öffnen Sie das Makro-Dialogfeld und wählen Sie unter „Makroname“ die neu erstellte Makrodatei aus. Klicken Sie dann auf „Ausführen“ oder „Einzelschritt“. Das Arbeitsblattschutzkennwort wird nach Abschluss des Programms gelöscht. (Tipp: Beim Ausführen des Programms kommt es zu Verzögerungen. Wenn die Computerkonfiguration niedrig ist, wählen Sie die Einzelschrittausführung. Der Effekt ist der gleiche)
Die Der VBA-Code lautet wie folgt:
Public Sub 工作表保护密码破解() Const HUANHANG As String = vbNewLine & vbNewLine Const MINGCHEN As String = "清除工作表保护密码" Const JINGGAO As String = "该工作簿中的工作表密码保护已全部清除!!" & HUANHANG & "请记得另保存" _ & HUANHANG & "注意:不要用在不当地方,要尊重他人的劳动成果!" Const TISHI1 As String = "该文件工作表中没有加密" Const TISHI2 As String = "该文件工作表中没有加密2" Const KSPJ As String = "解密需花费一定时间,请耐心等候!" & HUANHANG & "按确定开始清除!" Const FXMM1 As String = "密码重新组合为:" & HUANHANG & "$$" & HUANHANG & _ "如果该文件工作表有不同密码,将搜索下一组密码并修改清除" Const FXMM2 As String = "密码重新组合为:" & HUANHANG & "$$" & HUANHANG & _ "如果该文件工作表有不同密码,将搜索下一组密码并解除" Const MSGONLYONE As String = "确保为唯一的?" Dim w1 As Worksheet, w2 As Worksheet Dim i As Integer, j As Integer, k As Integer, l As Integer Dim m As Integer, n As Integer, i1 As Integer, i2 As Integer Dim i3 As Integer, i4 As Integer, i5 As Integer, i6 As Integer Dim PWord1 As String Dim ShTag As Boolean, WinTag As Boolean Application.ScreenUpdating = False With ActiveWorkbook WinTag = .ProtectStructure Or .ProtectWindows End With ShTag = False For Each w1 In Worksheets ShTag = ShTag Or w1.ProtectContents Next w1 If Not ShTag And Not WinTag Then MsgBox TISHI1, vbInformation, MINGCHEN Exit Sub End If MsgBox KSPJ, vbInformation, MINGCHEN If Not WinTag Then Else On Error Resume Next Do 'dummy do loop 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 i1 = 65 To 66 For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66 For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126 With ActiveWorkbook .Unprotect Chr(i) & Chr(j) & Chr(k) & _ Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _ Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) If .ProtectStructure = False And _ .ProtectWindows = False Then PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _ Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _ Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) MsgBox Application.Substitute(FXMM1, _ "$$", PWord1), vbInformation, MINGCHEN Exit Do 'Bypass all for...nexts End If End With Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Loop Until True On Error GoTo 0 End If If WinTag And Not ShTag Then MsgBox MSGONLYONE, vbInformation, MINGCHEN Exit Sub End If On Error Resume Next For Each w1 In Worksheets 'Attempt clearance with PWord1 w1.Unprotect PWord1 Next w1 On Error GoTo 0 ShTag = False For Each w1 In Worksheets 'Checks for all clear ShTag triggered to 1 if not. ShTag = ShTag Or w1.ProtectContents Next w1 If ShTag Then For Each w1 In Worksheets With w1 If .ProtectContents Then On Error Resume Next Do 'Dummy do loop 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 i1 = 65 To 66 For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66 For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126 .Unprotect Chr(i) & Chr(j) & Chr(k) & _ Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _ Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) If Not .ProtectContents Then PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _ Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _ Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) MsgBox Application.Substitute(FXMM2, _ "$$", PWord1), vbInformation, MINGCHEN 'leverage finding Pword by trying on other sheets For Each w2 In Worksheets w2.Unprotect PWord1 Next w2 Exit Do 'Bypass all for...nexts End If Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next Loop Until True On Error GoTo 0 End If End With Next w1 End If MsgBox JINGGAO, vbInformation, MINGCHEN End Sub
Weitere technische Artikel zu Excel finden Sie in der Spalte Excel-Tutorial, um mehr darüber zu erfahren!
Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn ich mein Passwort vergesse, um den Arbeitsblattschutz aufzuheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!