Macro error when worksheet is protected

G

Guest

I have the following macro in Excel 2000:

Private Sub Calendar1_Click()
ActiveCell.Value = CDbl(Calendar1.Value)
ActiveCell.NumberFormat = "mm/dd/yyyy"
ActiveCell.Select
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Not Application.Intersect(Range("A14:A26,A34:A38,A44:A46,B8"),
Target) Is Nothing Then
Calendar1.Left = Target.Left + Target.Width - Calendar1.Width
Calendar1.Top = Target.Top + Target.Height
Calendar1.Visible = True
' select Today's date in the Calendar
Calendar1.Value = Date
ElseIf Calendar1.Visible Then Calendar1.Visible = False
End If
End Sub

When I unlock those cells and protect the sheet, I receive a Run-time 1004
error "Unable to set the NumberFormat property of the Range class". I do not
get this error when the sheet in unprotected. How do I fix this so the sheet
is protected.
 
D

Dave Peterson

It may be simpler to unprotect the worksheet
do the work
reprotect the worksheet

Private Sub Calendar1_Click()
dim myPWD as string
myPWD = "hi"
activesheet.unprotect password:=myPWD
ActiveCell.Value = CDbl(Calendar1.Value)
ActiveCell.NumberFormat = "mm/dd/yyyy"
ActiveCell.Select
Activesheet.protect password:=myPWD
End Sub
 
G

Guest

Thanks for the quick response. I'm looking to keep the cells protected
because it's a template for data being supplied by multiple users. I'd like
to be able for the form to only provide access to certain cells and I need
for it to be "user friendly" so passwords won't work.
 

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