The worksheets have three options for the visible property:
-visible
-hidden
-veryhidden
Try setting the sheet to very hidden
Sheets(1).visible = xlveryhidden
This stops users unprotecting the workbook to get at the hidden sheets, you need to do it from within the vba editor. You can then put a password on the vba project to stop them doing this. It is not 100% secure but I expect it would be good enough for your purposes.
With regards to saving, my suggestion would be to use events to trigger the macros. Then the planner should be able to proceed as normal and the hiding/unhiding of the sheets should be done automatically.
You can use the beforesave event to run the macro you have written, with a slight change of a cancel added for the excel save. Then your planner will just need to press save (or save as) to trigger the macro. After it has saved, I would then suggest that you test the username and if it is that of the planner, you can then unhide the sheets.
The code would be something like this:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim fname
For count = 2 To 60
Sheets(count).Visible = xlVeryHidden
Next
Application.ScreenUpdating = False
fname = Application.GetSaveAsFilename
Cancel = True
ActiveWorkbook.SaveAs Filename:=fname
If Application.UserName = "Planner" Then
For count = 2 To 60
Sheet(count).Visible = xlVisible
Next
End If
Application.ScreenUpdating = True
End Sub
and it needs to go in the "ThisWorkbook" object in the vbaproject
Edit: you would also want the last part of the code in the open event for the workbook:
Private Sub Workbook_Open()
application.screenupdating = false
If Application.UserName = "Planner" Then
For count = 2 To 60
Sheet(count).Visible = xlVisible
Next
End If
application.screenupdating = true
Again, put this in the ThisWorkbook object
Bookmarks