使用VBA輕鬆解除EXCEL表格保護,清除保護工作表密碼的方法

前幾天小編寫了一篇用RAR的方式清除工作表保護,有的同學說好用,有的同學說不好用,小編覺得一些小白用RAR的方式操作可能還有點困難,今天小編又給大家一個VBA的代碼,同樣可以清除EXCEL工作表保護,適合忘記密碼時要對工作表的更改。

這是前次寫的 的文章,怎麼順手怎麼來,辦公中難免會遇到這樣的困難,所以小編今天來說說VBA方式,不需要任何工具,只需要簡單操作幾步。

1.打開一個我們已經保護的工作表

使用VBA輕鬆解除EXCEL表格保護,清除保護工作表密碼的方法

通常一個被保護的工作表,你在EXCEL表格裡進行操作時,都會提示你需要取消保護才能操作,在工具欄上方也會看到“撤銷工作表保護”有加鎖顯示,當你點擊撤銷時會提示輸入正確的密碼才能取消。

但我們設置時並沒有記住,忘記了這個表格的密碼,那麼下面就用VBA來清除吧。

先貼上VBA代碼,你可以複製下面的所有代碼部份

Sub PasswordBreaker()

Dim i As Integer, j As Integer, k As Integer

Dim l As Integer, m As Integer, n As Integer

Dim i1 As Integer, i2 As Integer, i3 As Integer

Dim i4 As Integer, i5 As Integer, i6 As Integer

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 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

ActiveSheet.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 ActiveSheet.ProtectContents = False Then

MsgBox "One usable password is " & Chr(i) & Chr(j) & _

Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _

Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)

ActiveWorkbook.Sheets(1).Select

Range("a1").FormulaR1C1 = Chr(i) & Chr(j) & _

Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _

Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)

Exit Sub

End If

Next: Next: Next: Next: Next: Next

Next: Next: Next: Next: Next: Next

End Sub

然後在這個打開的表格上,按鍵盤上的ALT+F11調出如下界面

使用VBA輕鬆解除EXCEL表格保護,清除保護工作表密碼的方法

然後,點擊工具欄上方的“插入”---“模塊”

使用VBA輕鬆解除EXCEL表格保護,清除保護工作表密碼的方法

點擊後,顯示一個窗口,然後把上方代碼複製到該窗口中,再點擊工具欄上的運行按鈕。

使用VBA輕鬆解除EXCEL表格保護,清除保護工作表密碼的方法

點擊運行按鈕後,大約10秒左右,會彈出一個提示,點擊確定後,回到EXCEL表格界面

使用VBA輕鬆解除EXCEL表格保護,清除保護工作表密碼的方法

當點點擊確定以後,我們會發現表格的保護已被取消了,只是表格的首行第一格會顯示出一行英文,但這並影響不大,總比重新做一個表格來得容易,尤其是有很多公式的表格,用這個方法就方便多了。

使用VBA輕鬆解除EXCEL表格保護,清除保護工作表密碼的方法

此時表格上的保護工作表顯示也回到了未保護狀態,我們的表格也可以編輯和變動了。


分享到:


相關文章: