View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
spences10 spences10 is offline
external usenet poster
 
Posts: 23
Default Protection Properties on WorkSheets

ah ha!

thanks Chris 'Sh.EnableSelection = xlUnlockedCells '
was what i was after

thank you very much.

eAlchemist wrote:
I condensed all of the for next loops- not necessary to do all of it
separately. This should probably run as a sub, rather than a function,
unless you're returning some value.

Sub ProtectAll()

Application.ScreenUpdating = False
Dim Sh As Worksheet

For Each Sh In Worksheets
Sh.Visible = xlSheetVisible
Sh.Protect "PASS"
Sh.EnableSelection = xlUnlockedCells
Sh.Select
ActiveWindow.DisplayHeadings = False
Sh.Visible = xlHidden
Next

Sheets("Cover").Visible = xlSheetVisible
Sheets("Cover").Select

ActiveWorkbook.Protect "PASS"
Application.ScreenUpdating = True
End Sub

--
Chris Farkas
Excel/Access Developer
www.eAlchemy.biz


"spences10" wrote:

Hi, I have some code that I run on a lot of my workbooks which protects
all the worksheets with my password "PASS" the only thing is, is
that some of the properties of the protect function are not kept when
it is run. Specifically I want to have the sheet protected and only
want users to be able to 'Select unlocked cells' but it seems when
the code is run it enables users to 'Select locked cells' can
anyone help??

Function ProtectAll()

Application.ScreenUpdating = False
Dim Sh As Worksheet

For Each Sh In Worksheets
Sh.Visible = xlSheetVisible
Next

For Each Sh In Worksheets
Sh.Protect "PASS"
Next

For Each Sh In Worksheets
Sh.Select
With ActiveWindow
.DisplayHeadings = False
End With
Next

For Each Sh In Worksheets
Sh.Visible = xlHidden
Sheets("Cover").Visible = xlSheetVisible
Sheets("Cover").Select
Next

ActiveWorkbook.Protect "PASS"
Application.ScreenUpdating = True

End Function

Regards,

Scott Spence