Quote Originally Posted by JBeaucaire View Post
When a worksheet is locked using VBA, you have one extra parameter available to you that manual locking does not have, it is called UserInterfaceOnly:=True

Add this parameter to your PROTECT command and from that moment on while that session of Excel is active on that workbook, VBA will be able to operate on that sheet without the need to unlock anymore.

So, you could run your LOCKER program as part of a Workbook_Open macro to reset this flag (it does not persist, must be set each time the workbook is opened) and then all your other macros will be free to operate on that locked sheet.

Public Sub Locker()
    Sheets("Sheet1").Protect "Password", UserInterfaceOnly:=True
    ActiveWorkbook.Protect "Password"
End Sub


In ThisWorkbook:
Sub Workbook_Open()
    Call Locker
End Sub
This worked! Thanks! I'll be using this from now on... Think of all that time I wasted!