Страницы: 1
RSS
Для Лузера (от Макса, Антона и еще одного человечка ник не помню) про группировку и защиту листа
 
{quote}{login=Лузер™}{date=09.06.2008 12:51}{thema=}{post}Не понимаю, чем тогда этот код:    
Worksheets(1).EnableOutlining = True    
Worksheets(1).Protect UserInterfaceOnly:=True  
Вам не подходит?  
Он как раз и дает пользователю нажимать на "плюсики/минусики слева и над таблицей"{/post}{/quote}  
 
Вписал в модули:  
Sub Макрос1()  
Worksheets(1).EnableOutlining = True  
Worksheets(1).Protect UserInterfaceOnly:=True  
End Sub  
 
Открываю файл с включенными макросами (в смысле "не отлючать макросы"), однако при попытке использовать группировку на защищенном листе система продолжает ругаться. "Нельзя использовать данную команду на защищенном листе.)  
Я так понимаю должно произойти какое-то событие прежде чем макрос начнет работать, кнопка для этого не подходит, хочется, чтобы макрос работал сразу после открытия файла.
 
А если строки поменять местами?
 
У Вас УЖЕ включена защита листа.  
Снимите ее, а потом запускайте код. Будет работать.  
Тоже с паролем:  
Worksheets(1).Protect Password:="123", UserInterfaceOnly:=True
 
{quote}{login=Pavel55}{date=10.06.2008 10:26}{thema=}{post}А если строки поменять местами?{/post}{/quote}  
 
Поменял. Та же фигня. Не получается :(
 
Для ещё одного человечка это для меня... =)))  
Мне, к сожалению, этот метод не подходит. Мне нужно не используя макросы.  
Но всё равно спасибо!
 
{quote}{login=Лузер™}{date=10.06.2008 10:43}{thema=}{post}У Вас УЖЕ включена защита листа.  
Снимите ее, а потом запускайте код. Будет работать.  
Тоже с паролем:  
Worksheets(1).Protect Password:="123", UserInterfaceOnly:=True{/post}{/quote}  
 
Попробовал и так. Не выходит.  
Объясню пошагово, что я делал:  
1. Создал и открыл новую книгу (для чистоты эксперимента).  
2. Открыл редактор MVB, там создал Module1 где записал:  
Sub Макрос1()  
Worksheets(1).Protect Password:="123", UserInterfaceOnly:=True  
Worksheets(1).EnableOutlining = True  
End Sub  
3. Сохранил и закрыл редактор.    
4. Сохранил и закрыл Книгу.  
5. Открыл книгу и на вопрос о макросах ответил "не отключать макросы".  
6. Попробовал группировку (лист еще не защищен) - работает.  
7. Сервис-Защитить лист (пароль один раз попробовал поставить 123, другой раз вообще без пароля). Сохранил, пробую группировку - не работает.  
8. Закрыл книгу, открыл снова, опять не работает.  
 
что я делаю не так?
 
вот, на всякий пожарный выкладываю файл (забыл)
 
{quote}{login=}{date=10.06.2008 11:00}{thema=Re: }{post}{quote}{login=Лузер™}{date=10.06.2008 10:43}{thema=}{post}У Вас УЖЕ включена защита листа.  
Снимите ее, а потом запускайте код. Будет работать.  
Тоже с паролем:  
Worksheets(1).Protect Password:="123", UserInterfaceOnly:=True{/post}{/quote}  
 
Попробовал и так. Не выходит.  
Объясню пошагово, что я делал:  
1. Создал и открыл новую книгу (для чистоты эксперимента).  
2. Открыл редактор MVB, там создал Module1 где записал:  
Sub Макрос1()  
Worksheets(1).Protect Password:="123", UserInterfaceOnly:=True  
Worksheets(1).EnableOutlining = True  
End Sub  
3. Сохранил и закрыл редактор.    
4. Сохранил и закрыл Книгу.  
5. Открыл книгу и на вопрос о макросах ответил "не отключать макросы".  
6. Попробовал группировку (лист еще не защищен) - работает.  
7. Сервис-Защитить лист (пароль один раз попробовал поставить 123, другой раз вообще без пароля). Сохранил, пробую группировку - не работает.  
8. Закрыл книгу, открыл снова, опять не работает.  
 
что я делаю не так?{/post}{/quote}  
 
макрос для того и написан чтоб снять защиту,  
для защиты листа используйте не сервис-команда  
а макросы выполнить макрос1 / защита листа
 
{quote}{login=}{date=10.06.2008 11:10}{thema=Re: Re: }{post}  
макрос для того и написан чтоб снять защиту,  
для защиты листа используйте не сервис-команда  
а макросы выполнить макрос1 / защита листа{/post}{/quote}  
 
Не догоняю хоть убей.
 
6. Попробовал группировку (лист еще не защищен) - работает.  
 
Вместо 7. Сервис-Защитить лист (пароль один раз попробовал поставить 123, другой раз вообще без пароля). Сохранил, пробую группировку - не работает.  
 
надо 7.сервис-макрос-выполнить макрос1  
8. Закрыл книгу, открыл снова, опять не работает.  
 
а вот снимать защиту пока что только Сервис-Защитить
 
{quote}{login=}{date=10.06.2008 11:47}{thema=}{post}6. Попробовал группировку (лист еще не защищен) - работает.  
 
Вместо 7. Сервис-Защитить лист (пароль один раз попробовал поставить 123, другой раз вообще без пароля). Сохранил, пробую группировку - не работает.  
 
надо 7.сервис-макрос-выполнить макрос1  
8. Закрыл книгу, открыл снова, опять не работает.  
 
а вот снимать защиту пока что только Сервис-Защитить{/post}{/quote}  
 
Ура! Заработало :))    
Защита листа задумана, что называется "от дурака", потому как наши статисты очень часто меняют формулы, случайно удаляют их и так далее, так, что далее ничего не работает.  
 
Как я понимаю, событие для включения макроса - это ручной запуск )))    
То есть. Я открыл книгу, запустил макрос, она стала защищенной, но позволяет мне использовать "Группировку". Однако закрытии/открытии файла книги макрос нужно запускать снова.    
Не могли бы вы подсказать как я могу настроить событие для выполнения Макроса1 - открытие книги, например.  
 
Событие - открытие книги:  
Sub Макрос1()  
Worksheets(1).Protect Password:="123", UserInterfaceOnly:=True  
Worksheets(1).EnableOutlining = True  
End Sub  
 
Или что-то в этом духе, чтобы бухгалтера открывая книгу, имели возможность делать группировку (жать + или -), но при этом их не нужно было специально запускать макрос.
 
в мдуль книги  
vba/project explorer/эта книга  
вставляете  
Private Sub Workbook_Open()  
Макрос1  
End Sub
 
{quote}{login=}{date=10.06.2008 12:31}{thema=}{post}в мдуль книги  
vba/project explorer/эта книга  
вставляете  
Private Sub Workbook_Open()  
Макрос1  
End Sub{/post}{/quote}  
 
СПАСИБО БОЛЬШОЕ! ВСЕ РАБОТАЕТ!
Страницы: 1
Читают тему
Наверх