Unlock sheet

P

PaulSin

I've got a spreadsheet with some cells that need to be locked on it
However, I need to then unlock the sheet when a macro is run over i
which hides some columns. Is there a way to unlock a spreadsheet tha
has password protection?
When I use the command ".unlock" it comes up with a prompt for th
password. Can I somehow put that into the code?
Basically I need to unlock the sheet to run a macro, but I can't see
to totally automate it for other users as currently I get a prompt fo
the password.
Any ideas?
Thanks for your help,
Pau
 
M

Mike Archer

Do you mean Unprotect?
You could use:

ActiveSheet.Unprotect("yourpassword")

But then the password can be read in the module if the
project is not locked for viewing.
 
D

Don Guillett

just add the password part
ActiveSheet.Protect Password:="dd", DrawingObjects:=True,
Contents:=True, Scenarios:=True
ActiveSheet.Unprotect Password:="dd"
from vba HELP for password or just highliight password in the vbe and touch
F1 key
expression.Protect(Password, DrawingObjects, Contents, Scenarios,
UserInterfaceOnly, AllowFormattingCells, AllowFormattingColumns,
AllowFormattingRows, AllowInsertingColumns, AllowInsertingRows,
AllowInsertingHyperlinks, AllowDeletingColumns, AllowDeletingRows,
AllowSorting, AllowFiltering, AllowUsingPivotTables)

expression Required. An expression that returns a Worksheet object.

Password Optional Variant. A string that specifies a case-sensitive
password for the worksheet or workbook. If this argument is omitted, you can
unprotect the worksheet or workbook without using a password. Otherwise, you
must specify the password to unprotect the worksheet or workbook. If you
forget the password, you cannot unprotect the worksheet or workbook. It's a
good idea to keep a list of your passwords and their corresponding document
names in a safe place
 
G

Gord Dibben

Paul

Sub SHEETPROTECT()
ActiveSheet.Protect Password:="justme", DrawingObjects:=True, _
Contents:=True, Scenarios:=True
End Sub

Sub SHEETUNPROTECT()
ActiveSheet.Unprotect Password:="justme"
End Sub

Combine the two as in........

Sub Do_Stuff()
ActiveSheet.Unprotect Password:="justme"
'your code here
ActiveSheet.Protect Password:="justme"
End Sub

Gord Dibben Excel MVP
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top