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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.03.2015, 13:18   #1
amadeus017
Форумчанин
 
Регистрация: 28.05.2014
Сообщений: 158
По умолчанию Защита листа с помощью макроса

Доброго времени суток!

Уважаемые форумчане, прошу ответить, можно ли написать макрос на защиту листа при сохранении (закрытии) файла.
Ситуация следующая... Есть файл, в который заносятся данные определенными людьми, и чтобы внести данные, необходимо снять защиту листа, но при сохранении, забывают установить защиту на лист.

Заранее благодарю!
amadeus017 вне форума Ответить с цитированием
Старый 19.03.2015, 13:34   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

В простейшем случае, в модуль ЭтаКнига
Код:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Sheets("Лист1").Protect "MyPassword"
End Sub
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 19.03.2015, 13:42   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

уважаемый, amadeus017,

а зачем нужна такая защита, которая утанавливается автоматически перед закрытием файла, которую ВСЕ, КТО ИСПОЛЬЗУЕТ ЭТОТ ФАЙЛ, знают как снять и воспользоваться файлом

зачем этот геморрой пользователям?

а автоматически защитить (3-й лист) можете так:
Код:
Private Sub Workbook_BeforeClose(Cancel as Boolean)
  x = 3
  worksheets(x).protect "Вот Вам Х!"
End Sub
не забудьте только на доске обьявлений где-то в людном месте написать, что пароль для снатия защиты "Вот Вам Х!" чтобы не бегать не рассказывать каждому отдельно.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 23.03.2015, 11:42   #4
amadeus017
Форумчанин
 
Регистрация: 28.05.2014
Сообщений: 158
По умолчанию

Спасибо большое!
Сделал, все работает и первым и вторым способом.
amadeus017 вне форума Ответить с цитированием
Старый 25.03.2015, 06:55   #5
amadeus017
Форумчанин
 
Регистрация: 28.05.2014
Сообщений: 158
По умолчанию

Еще раз здравствуйте!
В процессе использования файла, выявился недочет. Поставил нижеприведенный код (хотя оба работают одинаково)
Private Sub Workbook_BeforeClose(Cancel as Boolean)
x = 3
worksheets(x).protect "Вот Вам Х!"
End Sub

защита на лист ставится, но нет возможности использовать фильтр (((...

Прошу помощи
amadeus017 вне форума Ответить с цитированием
Старый 25.03.2015, 07:33   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

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

удачи!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 25.03.2015, 18:03   #7
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
защита на лист ставится, но нет возможности использовать фильтр (((...
Как защитить рабочий лист, но сохранить возможность работы с автофильтром ?
Вот ЗДЕСЬ это советуют сделать так:

Код:
Worksheets(1).EnableAutoFilter = True 
Worksheets(1).Protect UserInterfaceOnly:=True
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Защита листа staniiislav Microsoft Office Excel 7 03.10.2011 15:00
защита листа clown86 Microsoft Office Excel 12 26.11.2010 15:21
Защита листа Alekcey Microsoft Office Excel 3 10.11.2010 06:06
Защита листа, отключает работу макроса valerij Microsoft Office Excel 6 30.03.2008 22:22
Защита листа! Marsik Microsoft Office Excel 2 27.03.2008 18:19