Используйте этот код, когда устанавливаете защиту.
Sheets("Sheet1").Protect Password:="myPassword", UserInterfaceOnly:=True
В результате пользователь не может изменить то, что вы не разрешили (в приведенном выше коде может быть больше, чем я показываю) здесь) в то время как свойство UserInterfaceOnly позволяет вашему коду действовать так, как будто никакой защиты не существует.