Всем привет! Нужна Ваша помощь...Защищаю листы и после этого макрос отказывается работать .. Нашел вот такой макрос (он только для одного листа), для того, чтобы лечить эту проблемку, НО чет не могу в нем разобраться. Мне нужно, что бы макрос мог работать на 3-х листах, а пользователю разрешить только форматирование строк, столбцов, ячеек и возможность фильтра. I need your help!!!
[vba]
Код
Private Sub Workbook_Open() Protect_for_User_Non_for_VBA Me.Sheets("Лист1") End Sub Sub Protect_for_User_Non_for_VBA(wsSh As Object) wsSh.Protect Password:="1111", AllowFiltering:=True, UserInterfaceOnly:=True End Sub
[/vba]
Всем привет! Нужна Ваша помощь...Защищаю листы и после этого макрос отказывается работать .. Нашел вот такой макрос (он только для одного листа), для того, чтобы лечить эту проблемку, НО чет не могу в нем разобраться. Мне нужно, что бы макрос мог работать на 3-х листах, а пользователю разрешить только форматирование строк, столбцов, ячеек и возможность фильтра. I need your help!!!
[vba]
Код
Private Sub Workbook_Open() Protect_for_User_Non_for_VBA Me.Sheets("Лист1") End Sub Sub Protect_for_User_Non_for_VBA(wsSh As Object) wsSh.Protect Password:="1111", AllowFiltering:=True, UserInterfaceOnly:=True End Sub
макрос мог работать на 3-х листах, а пользователю разрешить только форматирование строк, столбцов, ячеек и возможность фильтра
Если в книге три листа, то так (в модуль Эта книга): [vba]
Код
Private Sub Workbook_Open() Dim x As Worksheet For Each x In ThisWorkbook.Worksheets x.Protect Password:="1111", AllowFormattingCells:=True, AllowFormattingColumns:=True, _ AllowFormattingRows:=True, AllowFiltering:=True Next x End Sub
[/vba]
Цитата (Erik)
макрос мог работать на 3-х листах, а пользователю разрешить только форматирование строк, столбцов, ячеек и возможность фильтра
Если в книге три листа, то так (в модуль Эта книга): [vba]
Код
Private Sub Workbook_Open() Dim x As Worksheet For Each x In ThisWorkbook.Worksheets x.Protect Password:="1111", AllowFormattingCells:=True, AllowFormattingColumns:=True, _ AllowFormattingRows:=True, AllowFiltering:=True Next x End Sub
Защищаю листы и после этого макрос отказывается работать
Цитата (Erik)
Нашел вот такой макрос (он только для одного листа), для того, чтобы лечить эту проблемку
этот макрос не решает никаких подобных проблем
Обычно схема такая: [vba]
Код
sub Sheet_p (wks as worksheet, sPass as string) wks.Protect Password:=sPass, AllowFormattingCells:=True, AllowFormattingColumns:=True, _ AllowFormattingRows:=True, AllowFiltering:=True end sub
sub Sheet_u (wks as worksheet, sPass as string) wks.Unprotect sPass end sub
[/vba]
затем обработчик: [vba]
Код
Private Sub Workbook_Open() Dim x As Worksheet For Each x In ThisWorkbook.Worksheets Sheet_p x, "1111" Next x End Sub
[/vba]
ну, собс-но, сам макрос (которому позволительно кромсать листочек)
[vba]
Код
sub punisher Sheet_u activesheet, "1111"
' разные бесчинства
Sheet_p activesheet, "1111" end sub
[/vba]
Цитата (Erik)
Защищаю листы и после этого макрос отказывается работать
Цитата (Erik)
Нашел вот такой макрос (он только для одного листа), для того, чтобы лечить эту проблемку
этот макрос не решает никаких подобных проблем
Обычно схема такая: [vba]
Код
sub Sheet_p (wks as worksheet, sPass as string) wks.Protect Password:=sPass, AllowFormattingCells:=True, AllowFormattingColumns:=True, _ AllowFormattingRows:=True, AllowFiltering:=True end sub
sub Sheet_u (wks as worksheet, sPass as string) wks.Unprotect sPass end sub
[/vba]
затем обработчик: [vba]
Код
Private Sub Workbook_Open() Dim x As Worksheet For Each x In ThisWorkbook.Worksheets Sheet_p x, "1111" Next x End Sub
[/vba]
ну, собс-но, сам макрос (которому позволительно кромсать листочек)
Недавно столкнулся - комментарии не входят в эти "всякие бесчинства" Т.е. чтоб работать с комментариями, а так же копировать строку с комментариями - пришлось полностью снимать защиту, "бесчинствовать", ставить защиту назад.
Недавно столкнулся - комментарии не входят в эти "всякие бесчинства" Т.е. чтоб работать с комментариями, а так же копировать строку с комментариями - пришлось полностью снимать защиту, "бесчинствовать", ставить защиту назад.Hugo