Страницы: 1
RSS
[ Закрыто ] Защитить лист, но разрешить работать макросу (UserInterfaceOnly = True)
 
Добрый день!
Решил установить защиту на лист для юзера, но чтобы макрос не блокировался! понял что нужно использовать UserInterfaceOnly:=True.
Но вот беда, у меня почему то это абсолютно не помогает, что пиши что не пиши все равно макрос тоже перестает работать.

этот юзеринтерфейс распространяется не на все функции как я понял? как минимум у меня не работает изменение "проверки данных"  - выключаешь защиту все ок, запускаешь заного файл, не пашет.
Код
Private Sub Worksheet_Activate()
Protect Password:="1111", UserInterfaceOnly:=True
End Sub

....
тут всякий код...
.....
 вот на этом месте (только когда с защитой) выдает ошибку - Validation.Modify Type:=xlValidateInputOnly
Кто сталкивался подскажите плиз! Пока остальные функции не проверял, решил сразу написать, может и смысла проверять нету, если это не будет работать.
Изменено: Excel_Noob - 27.04.2016 14:11:36
 
Почитайте эту статью.
 
я по идее оттуда и делал, так же читал на этом форме http://www.planetaexcel.ru/techniques/5/64/
 
Цитата

Если выполнить ниже приведенную строчку кода, то пользователю невозможно будет изменить данные на листе(кроме тех, которые Вы сами разрешите), однако код VBA(макрос) сможет преспокойно вносить любые изменения, не снимая защиту.
Sub Protect_for_User_Non_for_VBA()
   ActiveSheet.Protect Password:="1111", UserInterfaceOnly:=True
End Sub
Вот только почему-то у меня на отрез отказывается выполняться. эксель 2007.
Изменено: Excel_Noob - 27.04.2016 16:12:59
 
А Вы код-то куда вставляли? Надо вставлять так, чтобы при открытии книги он выполнялся - я в статье об этом писал. Т.е. если хотите, чтобы при открытии эта защита работала - надо помещать код в ЭтаКнига(в статье есть указание как это делать, где это и что конкретно вставлять).
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
The_Prist написал:
чтобы при открытии эта защита работала

После 5ой темы, сложилось такое впечатление, что вопросы вообще не читают, так поверхностно название темы глянут и ляпают ответы лишь бы что ляпнуть.
Защита как раз-таки включается нормально, а вот макрос работать перестает!

Цитата
Excel_Noob написал:
UserInterfaceOnly:=True.
что пиши что не пиши все равно макрос тоже перестает работать.

у меня не работает изменение "проверки данных"  - выключаешь защиту все ок, запускаешь заного файл, не пашет.

Открываешь файл => Включается защита листа => Дальше макрос отказывается работать => Выключаешь защиту листа => Макрос работает!
 
Вот прикреплю пример, сами убедитесь!

Инструкция к вложению
Код
1 - Открываем файл и пробуем кликнуть на любую ячейку! (Макрос выдаст ошибку)
2 - Отклчаем защиту листа (пароль 1111)
3 - Заново пробуем кликнуть любую ячейку
4 - Вуаля, в этой ячейке сразу появляется выпадающий список!
 
Цитата
Цитата
Excel_Noob написал:
сложилось такое впечатление, что вопросы вообще не читают, так поверхностно название темы глянут и ляпают ответы лишь бы что ляпнуть
Повежливее, пожалуйста. Вам пытаются помочь, а Вы - "ляпают". С таким отношением вообще отобьёте желание помогать Вам.
 
Оффтоп
Цитата
Юрий М написал:
Вам пытаются помочь
Конечно извиняюсь, я очень и очень благодарен тому, что существую такие форумы, и тем людям что готовы придти на помощь! Но блин, в каждой теме мне приходится разжевывать простейший вопрос, когда вполне ясно его транслируешь изначально, а отвечают на совершенно другое.
Ну вот где я тут указал что у меня не включается и не работает защита листа? Ткните меня пальцем в это.
 
Цитата
Excel_Noob написал:
в каждой теме мне приходится разжевывать простейший вопрос, когда вполне ясно его транслируешь изначально, а отвечают на совершенно другое
А не думали, что раз такое постоянно - то дело не в других, а в Вас? Может как-то иначе пробовать вопросы задавать, чтобы не только Вам понятно было? :)
Я лично отвечал на вот это:
Цитата
Excel_Noob написал:
почему-то у меня на отрез отказывается выполняться
Если написали, что отказывает выполняться код, который Вы указали - значит не туда вставляли. Так как указанный код может не выполняться только в том случае, если не туда вставляли. Другое дело, что VBA отказывается выпадающий список при такой защите вставлять, т.к. это не поддерживается. Придется сначала снять защиту, затем установить заново.

Поэтому не надо валить на других, если сами не можете проблему пояснить доступно. Здесь же не за ЗП люди сидят и вдумываться в каждое слово и пытаться угадать смысл, который вложили в фразу именно Вы никому не надо...
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
Excel_Noob написал:
Ну вот где я тут указал что у меня не включается и не работает защита листа? Ткните меня пальцем в это.
Тыкаю: #4   -   27 Апр 2016 15:58:39
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
The_Prist написал:
Тыкаю:  #4    -   27 Апр 2016 15:58:39
Это был ответ а не вопрос, когда мне начали втыкать про включение защиты. ИЗНАЧАЛЬНО (В МОЕМ ПЕРВОМ ПОСТЕ) ГДЕ написано что у меня не включается защита?
Цитата
Excel_Noob написал:
Добрый день!
Решил установить защиту на лист для юзера, но чтобы макрос не блокировался! понял что нужно использовать UserInterfaceOnly:=True.
Но вот беда, у меня почему то это абсолютно не помогает, что пиши что не пиши все равно макрос тоже перестает работать.

этот юзеринтерфейс распространяется не на все функции как я понял? как минимум у меня не работает изменение "проверки данных" - выключаешь защиту все ок, запускаешь заного файл, не пашет.
Код ? 12345678Private Sub Worksheet_Activate()Protect Password:="1111", UserInterfaceOnly:=TrueEnd Sub ....тут всякий код........ вот на этом месте (только когда с защитой) выдает ошибку - Validation.Modify Type:=xlValidateInputOnlyКто сталкивался подскажите плиз! Пока остальные функции не проверял, решил сразу написать, может и смысла проверять нету, если это не будет работать.
Изменено: Excel_Noob - 28.04.2016 15:18:39
 
Цитата
Excel_Noob написал:
...мне начали втыкать...
Да когда же Вы начнёте нормально общаться? Кто и что Вам "втыкает"?
 
Вообщем мне уже надоело разводить базар, тут помощи не дождешься! На простейший вопрос приходиться бадягу размусоливать на 100 тысяч сообщений и в итоге никто ничего не подскажет, сам скорей найдешь решение чем тут.
The_Prist, возьми, скачай пример отсюда пост #7 и убедись что нихера НЕ РАБОТАЕТ МАКРОС, а ЗАЩИТА ВКЛЮЧАЕТСЯ!
Можешь даже не отвечать почему не работает, найду решение сам!

Всего наилучшего! Я Покидаю Вас! Можете меня банить мне побарабану!
 
Юра, вам при жизни надо за доброту памятники. :) А это топикстартеру.
Кто такой нуб?Ничего не напоминает?
Я сам - дурнее всякого примера! ...
 
Цитата
Excel_Noob написал:
Можешь даже не отвечать почему не работает
Так Дима ведь уже ответил:
Цитата
The_Prist написал:
VBA отказывается выпадающий список при такой защите вставлять, т.к. это не поддерживается
 
Цитата
Excel_Noob написал:
Я Покидаю Вас!
Мы будем скучать ))
 
Цитата
kuklp написал:
Кто такой нуб? Ничего не напоминает?
В том то и дело что на этом форуме как будто в курилке оффтопят вместо того чтобы советы давать.
Я не требовал помощи, но если уж решил помочь то хотя бы говори по делу и прочитай изначальный первый пост а не из середины где-то.
Че я совсем д.......б чтобы не получилось защиту установить? Ее хоть в книгу хоть в лист пиши, написал Protect "1111" вот тебе и защита, че тут сложного? А по сути так никто за целую страницу ничего и не ответил!
Изменено: Excel_Noob - 28.04.2016 15:32:34
 
Цитата
Юрий М написал:
Мы будем скучать ))
Присоединяюсь. :cry:
Я сам - дурнее всякого примера! ...
 
Excel_Noob, ещё один момент: в своих темах принято отписываться: подошло, не подошло то, что предлагали. Некрасиво молча уходить из своих тем.
 
Цитата
Excel_Noob написал:
The_Prist , возьми, скачай пример  отсюда пост #7  и убедись что нихера НЕ РАБОТАЕТ МАКРОС, а ЗАЩИТА ВКЛЮЧАЕТСЯ!
Возьми и очки купи себе для начала. Тогда увидишь, что ответы на твои вопросы даны
Цитата
The_Prist написал:
Другое дело, что VBA отказывается выпадающий список при такой защите вставлять, т.к. это не поддерживается. Придется сначала снять защиту, затем установить заново.
Тогда поймешь, что все я прочитал, все скачал и попробовал. И даже согласился с тем, что такой подход как UserInterfaceOnly не подойдет в данном случае. А раз читать сам не умеешь - нечего разводить гнилой базар и искать виноватых среди других. С себя начни. И раз уж это не вопрос:
Цитата
Excel_Noob написал:
Вот только почему-то у меня на отрез отказывается выполняться. эксель 2007.
нафига ты его вообще здесь написал и привел какой-то код, который типа не работает? Он же работает? Он же защиту ставит? Складывается впечатление, что это ты сюда зашел мозги попарить людям, размещая одному тебе понятные вопросы и сообщения и потом возмущаясь и допуская какие-то хамские выходки по отношению к другим.
Не знаю как модераторы - но я бы лично забанил тебя за неуважение к форуму в целом вообще без прелюдий. тебе же все равно здесь ни разу не помогли, если верить твоим словам:
Цитата
Excel_Noob написал:
на этом форуме как будто в курилке оффтопят вместо того чтобы советы давать
Значит БАН ничего не изменит для тебя. Иди в другой форум, здесь же никто не держит, силой тебя сюда не затаскивали. В другом форуме и права покачаешь, и пожалуешься какие все нехорошие и т.д. и т.п. Не надо сюда вываливать все прелести своего отношения к людям.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1
Наверх