...Давайте развивать тему по делу. Что именно непонятно из ссылок?...
Эта же тема обсуждалась и на другом форуме, но вопрос решили здесь у Вас. Я там закрыл вопрос.Помогло мне вот это:
Код: (vb)
Private Sub Workbook_Open()
Dim arr, sSh
arr = Array("Отчет", "База", "Бланк")
For Each sSh in arr
Protect_for_User_Non_for_VBA Me.Sheets(sSh)
Next
End Sub
Sub Protect_for_User_Non_for_VBA(wsSh As Worksheet)
wsSh.Protect Password:="1111", AllowFiltering:=True, UserInterfaceOnly:=True
End Sub