Страницы: 1
RSS
Проверять формулой, включены ли макросы
 
Коллеги, прошу помощи: есть какие-то решения, как проверить формулой, включены ли макросы? Понятно, что можно на событие закрытия книги повесить макрос скрытия всех листов, кроме предупредительного с "фигой", потом пользователь макросы включает, все нужные листы появляются на событие открытия книги, а потом... отключает.

Запретить это, кажется, нельзя. А вот в какой-то технической ячейке на суперскрытом листе прописать формулу, которая как ИСТИНА / ЛОЖЬ проверяла бы включенность макросов. Другие важные ячейки с формулами проверяли бы ее как первое условие ЕСЛИ и показывали пусто, если макросы отключены.
Пока есть идея сравнивать результат =ТДАТА  с результатом NOW при этом NOW прописать, как макрос на событие выделения ячейки или на изменение для всех листов книги (результат выдавать в одно и то же место на суперскрытый лист). Рядом ТДАТА и еще рядом результат их сравнения. Но, кажется, громоздко, с костылями, неопределенным количеством макросов (листов много) и неочевидно, что разница между ТДАТА и NOW всегда будет корректно выдавать значения, т.к. некоторые макросы несут в себе команду Application.EnableEvents = False

В общем, есть у кого какие идеи или решение?
Спасибо!
 
Dollinsky, тестируйте.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
в имя
=(IFERROR(EVALUATE("1");)+NOW()*0)
По вопросам из тем форума, личку не читаю.
 
Спасибо большое! Оба решения работают, но оказалось, что мой страх, что пользователь может в процессе работы с файлом отключить макросы, не закрывая книгу, был напрасным: отключение макросов происходит при переоткрытии. Тогда же и меняют значения ячейки с формулами. А не налету.
Ну и славненько!
Еще раз Спасибо!
Страницы: 1
Наверх