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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2010, 21:38   #1
Wespe
Пользователь
 
Регистрация: 28.01.2010
Сообщений: 10
По умолчанию Разворачивание/сворачивание данных на защищенном листе

Приветствую всех участников данного форума! Такая проблемка... Хотел запретить на листе редактировать формулы и всячески его видоизменять. Сделал защищаемыми ячейки с формулами и поставил защиту листа. В результате становится невозможным сворачивать/разворачивать сгруппированные столбцы (где плюсиком разворачивается, минусом - наоборот). Это же, вроде, не редактирование, а просто отображение информации. Неужели эту операцию можно делать только на незащищенном листе? Помогите, плиз!
Wespe вне форума Ответить с цитированием
Старый 28.01.2010, 21:39   #2
Wespe
Пользователь
 
Регистрация: 28.01.2010
Сообщений: 10
По умолчанию

ЗЫ. Excel 2007
Wespe вне форума Ответить с цитированием
Старый 28.01.2010, 21:53   #3
KOSTIK1
Форумчанин
 
Аватар для KOSTIK1
 
Регистрация: 06.10.2009
Сообщений: 193
По умолчанию

Думаю вам это поможет.
С Уважением, Костик
KOSTIK1 вне форума Ответить с цитированием
Старый 28.01.2010, 22:04   #4
Wespe
Пользователь
 
Регистрация: 28.01.2010
Сообщений: 10
По умолчанию

Спасибо. Почитал. Сложновато для меня...((
Wespe вне форума Ответить с цитированием
Старый 29.01.2010, 10:52   #5
KOSTIK1
Форумчанин
 
Аватар для KOSTIK1
 
Регистрация: 06.10.2009
Сообщений: 193
Радость

Тогда выкладывайте файл который вам нужно подправить или хотя бы его подобие. Как прикрепить смотри тут.
С Уважением, Костик
KOSTIK1 вне форума Ответить с цитированием
Старый 29.01.2010, 16:52   #6
Wespe
Пользователь
 
Регистрация: 28.01.2010
Сообщений: 10
По умолчанию

Спасибо! Нашел в книженции похожий на указанный по ссылке код. Помогло! Работает! Только, кажется, нерационально сделал.

Private Sub Workbook_Open()
With Лист1
.Protect Password:=False, UserInterfaceOnly:=True
.EnableOutlining = True
End With
With Лист3
.Protect Password:=False, UserInterfaceOnly:=True
.EnableOutlining = True
End With
With Лист4
.Protect Password:=False, UserInterfaceOnly:=True
.EnableOutlining = True
И так далее на 50 листоы...
End Sub


Можно как-то"все листы" обозначить?
Wespe вне форума Ответить с цитированием
Старый 29.01.2010, 17:01   #7
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Код:


Sub test()
    Dim sh As Worksheet
    For Each sh In ThisWorkbook.Worksheets
        sh.Protect UserInterfaceOnly:=True
        sh.EnableOutlining = True
    Next sh
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 30.01.2010, 15:08   #8
Wespe
Пользователь
 
Регистрация: 28.01.2010
Сообщений: 10
По умолчанию

Спасибо, люди добрые! Все работает! Последний, пожалуй вопрос: не подскажете, какуюкоманду в вышеуказанный код добавить, чтобы можно было скрывать строки/столбцы?
Wespe вне форума Ответить с цитированием
Старый 30.01.2010, 15:19   #9
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Код:
Sub test()
    Application.ScreenUpdating = False  ' отключаем обновление экрана
    Dim sh As Worksheet
    For Each sh In ThisWorkbook.Worksheets
        With sh
            .Range("d:d,g:k").EntireColumn.Hidden = True    ' скрываем столбцы d,g,h,i,j,k
            .Columns(2).Hidden = True    ' скрываем 2-й столбец

            .Rows(3).Hidden = True    ' скрываем  3-ю строку
            .Range("12:25,28:28").EntireRow.Hidden = True    ' скрываем строки с 12 по 25 и 28-ю

            .Protect UserInterfaceOnly:=True
            .EnableOutlining = True
        End With
    Next sh
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 30.01.2010, 16:16   #10
Wespe
Пользователь
 
Регистрация: 28.01.2010
Сообщений: 10
По умолчанию

Извиняюсь, наверное, неправильно вопрос поставил... Чтобы не в макросе их скрывать и отображать, а прямо работая в Excel. При защите листа препятствует, аналогично проблеме (уже решившейся :-) ) с группировкой.
Wespe вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенос данных из строк в массив на другом листе akd2009 Microsoft Office Excel 2 15.12.2009 15:58
Сворачивание приложения и загрузка данных Armorer Общие вопросы Delphi 5 25.05.2009 19:23
Как выполнить макрос на защищенном листе Gennady_58 Microsoft Office Excel 3 18.04.2009 10:31
ячейка на одном листе, в которую необходимо подставлять данные из столбца, находящегося на другом листе Ирина Водолагина Microsoft Office Excel 4 04.03.2009 23:38
Фильтрация данных на втором листе по данным на первом ppl Microsoft Office Excel 3 13.08.2008 14:07