ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   Macro error when worksheet is protected (https://www.excelbanter.com/excel-discussion-misc-queries/155935-macro-error-when-worksheet-protected.html)

Soroya1920

Macro error when worksheet is protected
 
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:A 46,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.

Dave Peterson

Macro error when worksheet is protected
 
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

Soroya1920 wrote:

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:A 46,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.


--

Dave Peterson

Soroya1920

Macro error when worksheet is protected
 
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.

"Dave Peterson" wrote:

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

Soroya1920 wrote:

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:A 46,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.


--

Dave Peterson



All times are GMT +1. The time now is 08:42 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com