Невозможно поймать пользователя, снявшего защиту листа, но вы можете предупредить его, если он сохранит книгу без повторной защиты листа.
В модуле Workbook введите этот код или что-то в этом роде
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Sheets("MyProtectedSheet").ProtectContents = False Then
MsgBox "The sheet 'MyProtectedSheet' should not be left unprotected. I will protect it before saving", vbInformation
Sheets("MyProtectedSheet").Protect
End If
End Sub