How to recover lost worksheet protection password in Excel with VBA code

I download excel template from internet. I noticed that excel sheet is password protected and i unable to do any modification. When i try google it, i found one very useful VBA code which will help to cancel or break the lost worksheet protection password.

1. Open your worksheet which has been protected before.

2. Hold down the ALT + F11 keys, and it opens the Microsoft Visual Basic for Applications window.

3. Click Insert > Module

4. Paste the following code in the Module Window.

Sub PasswordRecovery()
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)
Exit Sub
End If
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next
End Sub

5. Press F5 or click the Run button on the toolbar and wait a couple of minutes. The pop up windows will report a temporary cracked password, which is not the original one.


  • Above temporary password only can used once. Once you quit the excel, above password will not valid anymore.
  • With this VBA code, you just only recover one worksheet protection password at a time, if there are multiple protected worksheets, you need to apply this code one by one.
  • Above VBA code only work on Excel 2010 and below. I tried to run above code on Excel 2016, it failed to excute.





Leave a Reply

Your email address will not be published. Required fields are marked *