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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2009, 05:05   #21
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

А чем не устраивает пример из поста № 12?
Если нужно, организуйте цикл по всем листам.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 27.11.2009, 12:14   #22
kirillitsa
Новичок
Джуниор
 
Регистрация: 26.11.2009
Сообщений: 2
По умолчанию

SAS888, спасибо за полезную информацию!!! всё работает!
Вопрос только теперь в этом самом цикле ))) как же всё-таки сделать, чтобы макрос "Защитить" автоматически начинал работу на всех листах, а не только на активном? Что это за цикл такой?
Заранее благодарен!
kirillitsa вне форума Ответить с цитированием
Старый 30.11.2009, 06:47   #23
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
Вопрос только теперь в этом самом цикле... Что это за цикл такой?
Например, так:
Код:
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
    'Ваш код для текущего листа (ws)
Next
В коде внутри цикла, при каждом обращении к ячейке (диапазону), не забудьте указывать ссылку на лист. Например ws.Range("A1").
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 30.11.2009, 16:03   #24
kirillitsa
Новичок
Джуниор
 
Регистрация: 26.11.2009
Сообщений: 2
По умолчанию

Я, наверно, бестолочь, но, признаться, не понял:
1. Этот цикл, если я правильно понял, вставить в каждый лист?
2. О каком коде внутри цикла идёт речь? Изначально у нас в листах никакого кода ведь нет?
3. По поводу обращений к ячейкам вообще не понял ))) к каким ячейкам? зачем?
В общем, покрутил я этот "цикл" и так и эдак. Ничего у меня не получилось
Если не трудно, можно подоходчивей?
Спасибо )
kirillitsa вне форума Ответить с цитированием
Старый 04.12.2009, 15:16   #25
webanz
 
Регистрация: 10.11.2009
Сообщений: 6
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
[CODE]Sub Защитить()

Const MyPassword = "abcd"
With ActiveSheet
.Unprotect Password:=MyPassword
.EnableOutlining = True
.Protect Password:=MyPassword, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
End With
Спасибо!
Только, помогите мне дополнить на возможность пользоваться Автофильтром (AutoFilter) при защите листа.

По аналогии добавил в код строчку:
.EnableAutoFilter = True

не помогло.

Где я допускаю ошибку?
webanz вне форума Ответить с цитированием
Старый 04.12.2009, 15:34   #26
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Код:
Const MyPassword = "abcd"
With ActiveSheet
.Unprotect Password:=MyPassword
.EnableOutlining = True
.Protect Password:=MyPassword, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True, AllowFiltering:=True
End With
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 04.12.2009, 15:54   #27
webanz
 
Регистрация: 10.11.2009
Сообщений: 6
По умолчанию

Цитата:
Сообщение от The_Prist Посмотреть сообщение
Код:
Const MyPassword = "abcd"
With ActiveSheet
.Unprotect Password:=MyPassword
.EnableOutlining = True
.Protect Password:=MyPassword, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True, AllowFiltering:=True
End With
Делал так, но никак не получается. Все равно обычный автофильтр не доступен, только Advance.

В атаче файлик.
Вложения
Тип файла: rar Пример группировки и защиты_2.rar (7.3 Кб, 37 просмотров)
webanz вне форума Ответить с цитированием
Старый 04.12.2009, 16:00   #28
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Так Вы сначала фильтр установите на листе, а затем защиту устанавливайте. И тогда сможете работать с фильтром. А установить фильтр на уже защищенном листе не получится.
Типа того:
Код:
Const MyPassword = "abcd"
With ActiveSheet
.Unprotect Password:=MyPassword
.Range("A1:D1").AutoFilter
.EnableOutlining = True
.Protect Password:=MyPassword, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True, AllowFiltering:=True
End With
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 04.12.2009, 16:07   #29
webanz
 
Регистрация: 10.11.2009
Сообщений: 6
По умолчанию

Наверное, я не совсем точно выразился.
Мне нужно, что бы лист был защищен, но при этом имелась возможность при открытом листе добавлять/убирать автофильтр.
т.е. я открываю книгу, захожу в нужный лист,который защищен и ставлю там автофильтр ( чтобы эта опция была включена).
такое возможно?
webanz вне форума Ответить с цитированием
Старый 04.12.2009, 16:16   #30
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Если возможно, то я такого способа не знаю.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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