Добрый день, есть 4 книги и в каждой по 31 листу и они повторяется, есть ряд пользователей которым необходимо предоставлять правда доступа к определенным ячейкам, эту проблему можно конечно решить проблему "Рецензированием и разрешения на изменения диапазонов" но занимает очень много времени так как существует текучка пользователей, и каждый раз трачу очень много времени на изменения, можно ли как то это упростить с помощью VBA????
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Jack Famous, не подходит этот вариант, он слишком сложен для большинства пользователей которые будут пользоваться этими файлами, мне не обходим что бы без всяких заморочек пользователь зашел внес данные в свои ячейки и все.
Fayct27! Простой Юзер: 1. встает "Мышой" на любой лист в нужном файле, 2. копирует Инфо, 3. делает вставку в Новый Файл! И вся защита - "сметена" Напрочь!
Fayct27 написал: что бы без всяких заморочек пользователь зашел внес данные
В таком случае при подготовке файла должны заморочиться Вы (или реализовать смомтоятельно, или заказать разработку). Просто не получится.
Пользователю при открытии книги ввести пароль. Далее автоматом - или отдельная форма (формы) для ввода, данные из которых попадут в нужные места, при этом листы видеть не оязательно - или снятие/установка защиты диапазонов на листах
vikttur, Ivan.kh, ну хоршо, косяк в сторону :-). Как правило, имена листов имеют не произвольное наименование, то есть можно вывести систему и предположить имя очень интересующего листа. А далее, хоть формулой сослаться на лист в другой книге, даже очень скрытый лист, или запросом получить данные - не проблема. Конечно можно сделать листы с абстрактными именами, но …. Опять переходим к вопросу низкого уровня защиты.
Fayct27 написал: не подходит этот вариант, он слишком сложен для большинства пользователей
чем, если не секрет? Если использовать "Разрешить изменение диапазонов" - пользователю нужно будет просто указать свой пароль. При этом для других ячеек этот пароль уже не подойдет. А если в доменной сети настроены группы пользователей - то можно и вообще без ввода пользователем пароля напрямую группам доступы давать(каждой группе свой диапазон). Куда уж проще?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Если автора текучка пользователей файла напрягает - можно же попросить админов закидывать их в определенные группы сходу и тогда не надо ничего больше делать. Все остальные варианты в любом случае будут вынуждать автора файла всем "вновь прибывшим" раздавать явки и пароли. Т.е. либо говорить "твой пароль от диапазона такой-то", либо "ты должен зайти при запуске файла под тем-то" или постоянно изменять список пользователей где-то в файле, чтобы они сразу могли выбрать себя, но опять после выбора - пароль же надо знать. Насколько помню, в той же 1С принцип тот же: завели сотрудника, дали доступ и выслали его пароль на почту. Как ни крути, но контролировать и хоть кому-то этот процесс придется.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Fayct27 написал: как то это упростить с помощью VBA
Еще вариант. Перехватывайте событие книги Workbook_SheetChange. Далее, анализируйте: на каком листе (Sh), что изменилось (Target), каким пользователем (Environ("computername"), Environ("username")). Если Вам это сочетание не нравится - откатите (Undo + грозное сообщение пользователю). Целесообразно на дополнительном скрытом листе книги вести аудит - кто и какие ячейки изменил.
Дмитрий(The_Prist) Щербаков, Дмитрий, да все правильно, я просто над опечаткой смеюсь Раздать правда доступа. Хотя головная боль с текучкой от автора перетекает к админам и тут медведь не всегда за . Ведь фактически мы говорим об авторизации пользователя - и это или должно быт частью процесса управления правами доступа или ….