Страницы: 1
RSS
Макрос "разрешить доступ" на конкр. область
 
Добрый день. Снова небольшая проблема. Задача следующая: Есть 2 листа, на втором (Шабл.карт.ттн) содержится типовая форма, которая копируется на лист номер 1 нажатием кнопки "Новая карточка ттн". Все работает как надо, разрешенные диапазоны выводятся корректно. Но, необходимо сделать кнопку, по нажатии которой блокировалось бы содержимое конкретной области (конкретной карточки) и выводилось сообщение в ячейке "Проверено". При этом на кнопку был повешен пароль, чтобы нажимать мог только уполномоченный человек.

Как повесить пароль на кнопку я нашел. Но "ActiveX" элемент не копируется макросом "Новая карточка ТТН" + я не знаю, как запретить редактировать область, редактирование которой была ранее разрешено функцией ".Locked False .FormulaHidden = False". Проделав тоже самое, но поменяв на True я не получил результата.

В двух словах расскажу, для чего это вообще. Менеджер может неправильно ввести данные умышленно или случайно, для этого нужен контроллер. Но проверить сразу все вряд ли удастся, гораздо удобнее проверять каждую карточку и ставить ей статус проверено, вместе с тем блокируя содержимое, запрещая его для дальнейшего редактирования. В идеале конечно, повторное нажатие на кнопку отменяло бы ее действия, снимая статус проверено.
 
Цитата
FusionBY написал: Но "ActiveX" элемент не копируется
Файл не смотрел, но... поместил на лист кнопку ActiveX, выделил диапазон, захватывающий эту кнопку, скопировал, вставил в другое место - кнопка ТОЖЕ скопировалась.
 
Что касается обычно кнопки, да, она копируется. А вот Activex - нет. Возможно это связано с тем, что копирование реализовано с помощью макроса, но у меня и вручную не получается скопировать. Был бы крайне признателен, если бы кто-нибудь навел на мысль, как это реализовать или, что почитать. Еще крайне любопытный и совершенно непонятный факт это то, как работает ".Locked False". Я думал ячейки разрешенные для редактирования обязательно должны быть указаны в соответствующей форме, но на самом деле нет, данный файл наглядно показывает, что даже если полностью очистить содержимое формы "разрешить изменения диапазонов" ничего не поменяется, все будет запрещено для редактирования, кроме диапазона указанного макросом, если я правильно понимаю это делает функция .Locked False. В тоже время непонятно, почему не работает .Locked True. Ведь если мы разрешили редактировать то, что раньше было запрещено, почему не можем снова запретить.
 
Цитата
FusionBY написал:Что касается обычно кнопки, да, она копируется. А вот Activex - нет.
Цитата
Юрий М написал: поместил на лист кнопку ActiveX
 
Приношу извинения. ".Locked True" вполне работает, просто не работает у меня, осталось выяснить почему или как сделать так, чтобы оно правильно работало.
 
Приношу свои извинения: забыл написать, что должен быть включен режим конструктора - тогда копируется.
 
Если использовать не элементы ActiveX, а обычные фигуры - все будет копироваться вместе с диапазонами(для полной уверенности в свойствах поставить "Изменять и перемещать вместе с ячейками"). К тому же избежите много проблем в будущем - ActiveX являются устаревшими и к использованию не рекомендуются.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1
Наверх