Crack Excel password protected sheets, no software required

by Vlad on 5/04/2009

Over time, Microsoft has increased the importance of security in their pecking order, but Microsoft Excel’s password protection is still rather lack-luster. A few days ago, a co-worker had asked me for help in recovering a password she had forgotten for an old Excel spreadsheet. Luckily, this can be done with absolutely no additional software.

This routine provides a password to unprotect your worksheet. However, it may not give you the original password that was used.

  • Open the workbook that has the protected sheet in it. Hit Alt+F11 to view the Visual Basic Editor. Hit Insert-Module and paste this code into the right-hand code window:
Sub PasswordBreaker()
 'Author unknown but submitted by brettdj of www.experts-exchange.com

 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
  • Close the VB Editor window. Navigate to the worksheet you want to unprotect. Hit Tools-Macro-Macros and double-click PasswordBreaker in the list.

Original tutorial can found at The Office Experts Sample VBA.

There are 14 comments in this article:

  1. 21/09/2009André says:

    Howdie,
    It looks like the Microsoft empire stroke back. This code works only if the Workbook or Worksheet allows you to do the “Insert-Module” procedure in Visual Basic. Otherwise the ball is on our court now to outsmart the smarties…

  2. 23/09/2009Louis says:

    It works although it does not give the original password. However, it overwrites the A1 cell of the left-most worksheet. A bug?

  3. 11/12/2009dex says:

    it works great. nope – that was the password i believe.
    thanks for this macro…

    also – when one makes the copy paste beware to delete the row numbering from 1 to 30..

  4. 18/01/2010Rio says:

    It works percfectly Thanks to add this article, I’ve finish my j ob today thanks

  5. 23/05/2011starkes says:

    Worked for me. Cool

  6. 2/06/2011Krish... says:

    Thanks to add this.
    Very Very Useful Code..

  7. 29/08/2011Suresh says:

    awesome …. it really works …..Hats off.. :)

  8. 25/10/2011C.Rebree says:

    it works fine, thanks !

  9. 27/10/2011Prasanna says:

    Worked beautifully for me…great!

  10. 1/11/2011Path says:

    Works great, even gave me the password!

  11. 1/12/2011Mark says:

    Thank you so much..It’s amazing great…

  12. 3/12/2011Mohsin says:

    Erm.. It shows AAAAAAAA regardless of what password protection is set. Besides, when u load the excel file it asks password. when u type incorrect it closes. Running Alt+F11 after that doesn’t serve a purpose…!

  13. 16/12/2011Tej_amon says:

    Thanks a lot. Great job. It works.

  14. 9/01/2012Grateful Marty says:

    It work! Thank you, thank you. I had an old protected spreadsheet which I totally forgot. your code work and I was able to edit.

Write a comment: