Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2009, 04:38   #1
nastya007
Пользователь
 
Регистрация: 14.01.2009
Сообщений: 14
По умолчанию группировка при защите листа

У меня следующая ситуация: надо сделать так, чтоб информацию в ячейках нельзя было изменять, но в тоже время можно было пользоваться функцией группировка. Я поставила защиту на лист, теперь форматировать данные нельзя, но и группировка не работает.

Помогите, пожалуйста, разобраться!
nastya007 вне форума Ответить с цитированием
Старый 19.02.2009, 05:35   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Пусть требуется защитить "Лист1" с паролем "MyPassword", при этом разрешив работу с группами. Можно так:
Код:
With Sheets("Лист1")
    .EnableOutlining = True
    .Protect Password:=MyPassword
End With
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 19.02.2009, 09:05   #3
nastya007
Пользователь
 
Регистрация: 14.01.2009
Сообщений: 14
По умолчанию

спасибо! в скором времени испытаю!
nastya007 вне форума Ответить с цитированием
Старый 19.02.2009, 10:16   #4
nastya007
Пользователь
 
Регистрация: 14.01.2009
Сообщений: 14
По умолчанию

испытала... защита на лист ставиться, данные нельзя форматировать, но и группу ранее созданную открыть я не могу.
nastya007 вне форума Ответить с цитированием
Старый 19.02.2009, 10:30   #5
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Посмотрите пример во вложении.
Вложения
Тип файла: rar Группы.rar (6.3 Кб, 502 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 20.02.2009, 04:29   #6
nastya007
Пользователь
 
Регистрация: 14.01.2009
Сообщений: 14
По умолчанию

спасибо большое!!! отлично работает!!!
nastya007 вне форума Ответить с цитированием
Старый 20.02.2009, 08:36   #7
nastya007
Пользователь
 
Регистрация: 14.01.2009
Сообщений: 14
По умолчанию

а подскажите еще, пожалуйста. все работает, но если я закрываю книгу и открываю ее снова, то при попытке раскрыть группу, у меня вылазит сообщение, что данное действие нельзя произвести на защищенном листе. Группы опять становятся доступными, если запустить макрос. А можно сделать так, чтоб не приходилось запускать макрос вручную или чтоб сохранялись действия макроса до закрытия листа? Нашла макрос автоматической загрузки при открытии книги, но он не действует на защщищенном листе и тоже приходиться запускать в ручную. Подскажите, пожалуйста!
nastya007 вне форума Ответить с цитированием
Старый 20.02.2009, 08:55   #8
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
если я закрываю книгу и открываю ее снова, то при попытке раскрыть группу, у меня вылазит сообщение, что данное действие нельзя произвести на защищенном листе
Все правильно. Опция UserInterfaceOnly:=True не сохраняется. Поэтому, при открытии книги ее нужно повторять. Т.е. снять защиту и вновь установить ее с нужными параметрами. Так, например, пусть в книге есть макрос, устанавливающий защиту:
Код:
Sub Защитить()
    
    Const MyPassword = "abcd"
    With ActiveSheet
        .Unprotect Password:=MyPassword
        .EnableOutlining = True
        .Protect Password:=MyPassword, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
    End With
    
End Sub
Тогда в модуль "Эта книга" вставьте код:
Код:
Private Sub Workbook_Open()
    Защитить
End Sub
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 24.03.2009, 08:57   #9
inessochka
 
Регистрация: 24.03.2009
Сообщений: 3
По умолчанию

End Sub[/CODE] Тогда в модуль "Эта книга" вставьте код:
Код:
Private Sub Workbook_Open()
    Защитить
End Sub
[/QUOTE]

Сделала так как написали, но потом при открытии этого файла защищенного появляется окно:
Compile error:
Sub of Function not defined
Затем закрываю все это и группировка так и не работает.
Что то не так сделала?
inessochka вне форума Ответить с цитированием
Старый 24.03.2009, 09:14   #10
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
Sub of Function not defined
Зачем мы будем гадать? Прикрепите Ваш "проблемный" файл - разберемся.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как заставить работать макрос при защите листа qwertyuzer Microsoft Office Excel 4 11.02.2009 15:20
Формирование листа при множественом выборе файлов Руслантус Общие вопросы C/C++ 2 09.08.2008 23:16
Добрый день и снова вопрос по защите) Wasily Microsoft Office Excel 17 18.06.2008 10:26
При закрытии листа, стираются данные Romuald Microsoft Office Excel 2 20.12.2007 13:24
Удалить строку листа Excel при выполнении условия Gennady Microsoft Office Excel 14 18.12.2007 13:54