Дорогие, форумчане! В очередной раз пытаю Вас! У меня в книге заблокированный лист. Для того, чтобы изменять в нем данные Админу надо снять защиту. Также есть и другие листы, которые скрыты действием xlSheetVeryHidden. Ясно, что после разблокировки книги, можно зайти в редактор VBA и восстановить видимость Админу, но реализуемо ли это программным способом на момент снятия защиты? По сути надо перехватить событие? Как, подскажите пожалуйста? Заранее, спасибо за помощь!
Дорогие, форумчане! В очередной раз пытаю Вас! У меня в книге заблокированный лист. Для того, чтобы изменять в нем данные Админу надо снять защиту. Также есть и другие листы, которые скрыты действием xlSheetVeryHidden. Ясно, что после разблокировки книги, можно зайти в редактор VBA и восстановить видимость Админу, но реализуемо ли это программным способом на момент снятия защиты? По сути надо перехватить событие? Как, подскажите пожалуйста? Заранее, спасибо за помощь!yuka
На данный момент стряпаю файл, как сделаю прикреплю. Сейчас же попытаюсь объяснить. В книге несколько листов. С какими-то работает пользователь, а с другими - Админ. Эти листы друг с другом связаны. Админские листы я скрываю с помощью [vba]
Код
Sheets("data2").Visible = xlSheetVeryHidden
[/vba] Чтобы попадись полуграмотный пользователь не решил их при помощи "правой кнопки мыши" отобразить. При этом есть один лист, который стоит на защите (на этом листе нельзя данные редактировать). Если же требуется изменение данных, то надо снять защиту листа и отобразить скрытые листы. Сейчас я это делаю с помощью макроса. Но в Excel есть своя кнопка снятия защиты, соответственно если снимать защиту через нее, листы не будут видимы. Их надо будет отображать, заходя в редактор VBA. Возможно ли будет перехватить это событие, чтобы прописать в коде это?
На данный момент стряпаю файл, как сделаю прикреплю. Сейчас же попытаюсь объяснить. В книге несколько листов. С какими-то работает пользователь, а с другими - Админ. Эти листы друг с другом связаны. Админские листы я скрываю с помощью [vba]
Код
Sheets("data2").Visible = xlSheetVeryHidden
[/vba] Чтобы попадись полуграмотный пользователь не решил их при помощи "правой кнопки мыши" отобразить. При этом есть один лист, который стоит на защите (на этом листе нельзя данные редактировать). Если же требуется изменение данных, то надо снять защиту листа и отобразить скрытые листы. Сейчас я это делаю с помощью макроса. Но в Excel есть своя кнопка снятия защиты, соответственно если снимать защиту через нее, листы не будут видимы. Их надо будет отображать, заходя в редактор VBA. Возможно ли будет перехватить это событие, чтобы прописать в коде это?yuka
Сообщение отредактировал yuka - Пятница, 18.01.2013, 10:59
Проще... [ задним числом дошло, что можно комбинации клавиш (а не кнопке) назначить работу макроса] Мне хочется идеала))) Чтобы на встроенную кнопку Excel "Снять защиту листа" автоматом отображалось все)))
Проще... [ задним числом дошло, что можно комбинации клавиш (а не кнопке) назначить работу макроса] Мне хочется идеала))) Чтобы на встроенную кнопку Excel "Снять защиту листа" автоматом отображалось все)))yuka