Może dlatego, że takich procedur mam 50 i w każdej umieściłem ten kod. Tak już będzie ? !
To się naklepałeś trochę :-)
Umieść ten kod w module skoroszytu:
Kopiuj
Private Sub Workbook_Open()
Dim wks As Worksheet
For Each wks In ThisWorkbook.Worksheets
wks.Protect Password:="Moje_hasło", _
DrawingObjects:=True, _
Contents:=True, _
Scenarios:=True, _
UserInterfaceOnly:=True
Next wks
End Sub
W powyższym kodzie zakładam że ochronę specjalną zakładamy na każdy arkusz skoroszytu.
Oczywiście nic nie stoi na przeszkodzie, aby taką ochronę założyć na wybrane arkusze.
Pamiętaj że UserInterfaceOnly (czyli pozwolenia na zmiany w arkuszu kodem) niektórych rzeczy nie da się wykonać bez zastosowania Unprotect, Protect.