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.

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

Original tutorial can found at The Office Experts Sample VBA.


Subscribe to comments Comment | Trackback |
Post Tags: , , , , , ,

Browse Timeline


Comments ( 4 )

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…

André added these pithy words on Sep 21 09 at 8:54 am

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

Louis added these pithy words on Sep 23 09 at 10:25 pm

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

dex added these pithy words on Dec 11 09 at 6:59 am

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

Rio added these pithy words on Jan 18 10 at 9:50 pm

Add a Comment


XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


© Copyright 2009 digital parsimony . Thanks for visiting!