score:1
I'm not sure how this works but I was able to Unprotect the sheet. I did a "save as" and changed the Type to: "Excel 97-2003". When I opened the file & unprotect the sheet, it did not ask for a password anymore. :) And my workbook still works fine.
score:1
Since a recent update, Excel has an issue with a high try rate to command Unprotect. A few slow-down makes the code run again: Put something like this right before the Unprotect line, i.e. into the most inner loop:
Debug.Print Chr(i) & Chr(j) & Chr(k) _
& Chr(l) & Chr(m) & Chr(i1) _
& Chr(i2) & Chr(i3) & Chr(i4) _
& Chr(i5) & Chr(i6) & Chr(n)
DoEvents
With this (speed-) modification, the initial mentioned approach works also with Excel 2013 and Excel 2016.
score:5
Thanks Kawi, that works perfectly.
Here is the full code with Kawi's modification:
Sub PasswordBreaker()
'Breaks worksheet password protection.
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
Debug.Print Chr(i) & Chr(j) & Chr(k) _
& Chr(l) & Chr(m) & Chr(i1) _
& Chr(i2) & Chr(i3) & Chr(i4) _
& Chr(i5) & Chr(i6) & Chr(n)
DoEvents
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
score:8
Excel has updated their sheet protection security in Excel 2013 and newer so this macro won't work anymore, see here.
From the link it sounds like if you save the file as an xls file (Excel 1997-2003) it is forced to drop the newer security as it wasn't compatible with the file type. You could then run your macro.
Saving as an older file version may make certain parts of the workbook not work.
Source: stackoverflow.com
Related Query
- Password Cracker of Protected Sheet in Excel 2013 and Later using VBA
- How to disable save and protected sheet prompt in excel using VBA
- How to unlock a password protected excel file using R and VBA
- Using VBA to insert and keep images in file - Excel 2013
- Copy rows from one sheet into other sheet and after 7 columns go to next row using vba in excel
- Find Duplicate Values In Excel and Export Rows to another sheet using VBA
- How do I unzip a password protected zip file using Access VBA and an encrypted password
- Using VBA to search data in Excel for a specific word, copy that row and 2 rows above and below into a new sheet
- Excel VBA & UserForm Login and Password VLOOKUP Table in Sheet
- Excel 2013 VBA alternative to using Activate and Select
- How to copy excel range from a sheet and place it into a specific place it into a specific place in word using word vba
- Searching an Excel workbook and listing results in another sheet or report using VBA
- Trying to save and print a single sheet in Excel using VBA
- Need help using vba to select rows with dynamic data from dynamic sheets and consolidate in a new sheet in excel
- Excel VBA to login in through a Excel-add-in using username and password
- Extract all items from a combobox in a website and paste into excel sheet using VBA
- Protecting a worksheets using a password in excel 2013 using VBA
- using excel vba read and edit text file into excel sheet
- Excel VBA delete blank rows on password protected sheet
- Avoid trying to load NULL values into array using VBA and ADO/SQL to pull data from excel sheet
- Copy and paste data from one a sheet to another sheet, and from second sheet to third using excel VBA
- excel vba sheet comparison using vba in excel and store result in a sheet?
- How to copy "specific" rows from one sheet and paste in to another in an excel using VBA Macros
- Is there a way to take input(email-id) from the user and automatically mail the same excel sheet using vba code?
- How do I copy and paste formatting of excel tab to other tabs except a selected sheet using excel VBA
- Unable to open multiple workbook and append with data from an excel sheet using VBA code
- Unable to open multiple workbook and append with data from an excel sheet using VBA code
- How to stop password prompt using DAO in Excel VBA and Access
- Using Regex pattern to copy and rename Excel sheet using VBA
- Excel 2013 protected sheet vba pop-up message
More Query from same tag
- Excel VBA identify pivotItems visible in excel interface
- Collection.Add: Wrong number of arguments or invalid property assignment
- vba programming for visio
- Delete row if cells equal a set of values
- Can you color individual items in a data validation drop-down list in excel?
- Getting a type mismatch error
- Issue reading Text files with html tags and convert them into htmldoc VBA
- In Access 2016 VBA, is the OnChange event the best for reading a barcode?
- Run Script Rule option disapperared after office upgade
- Clear Formula and keep overwritten value
- I want to clear the concept about object and instance using below condition
- Find and select value in range
- Possible to extract full XML html_instructions from Google Directions API using only cell formulas?
- How to set an automatically generated Option Button to 'True' based on the value in another range in VBA?
- VBA skips cells when data is entered
- How do I select a cell referenced by a variable on VBA
- Excel merge all columns with VBA
- How to set a VBA variable to throw an error when used?
- How can I make sure my IE tab name is correct?
- Excel VBA Runtime Error when deleting cells data
- How to ask for Checkbox (True/False) in Macro using If-function
- Removing [External] Tag in Email Subject, Unable to Sort by Subject After
- vba webbrowser and external javascript loading
- VBA's range causes "Run time error 9 Subscript out of range"
- Function always returns False. Why?
- VBA Excel won't copy data to sheets
- Accumulated sum with Find
- Moving Right One Cell
- Toggle checkboxes in a tab based upon master checkbox selection
- Adding key event handlers for PowerPoint 2016 VBA Add-in or C# VSTO