Страницы: 1
RSS
Запрет редактирования с рабочими группировками
 
Добрый день.
Подскажите как защитить ячейки от редактирования, но чтобы "плюсики" работали? В файле выделила синим, то что нужно запретить для редактирования. При обычном запрете редактирования и с защитой листа. Ячейки не редактируются, но и группировки не работают. Может быть есть какой то способ. Очень прошу помогите.
Изменено: Oli2106 - 02.11.2016 14:19:38
 
 Прямо на этой странице аналогичная тема. Вы бы хоть пробежались по названиям, прежде чем создавать свою...
 
Юрий М, я читала эту статью темы схожи, но ответа нет. Если бы я понимала принцип, я бы не спрашивала. Там идет речь о нерабочем макросе МSO 2016. А я не понимаю макросы и что нужно сделать и в какой последовательности. От того что я добавила макрос из статьи не изменилось ни чего. Что нужно сделать защитить ячейки добавить макрос или как?? НО не работает.Потому я тут и пишу.
 
Почитайте внимательно и до конца статью по ссылке, которую я приводил в той теме.
 
Дольше объяснять где чего искать :)
Вот ссылка из той темы: Как оставить возможность работать с группировкой/структурой на защищенном листе?
читать до конца и внимательно.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
The_Prist, Юрий М, Я читала эту статью 100 раз до того момента как написать. Я так понимаю, что автор Дмитрий, там прекрасно описано(для пользователей, которые работали  в своей жизни с макросами, для всех остальных это ацкий ад и полное не понимание),что надо вставить 1 код в ЭтуКнигу и все работает. Я это сделала и как ни чего не работало так и не работает. Как структура была мертвой так и осталась.Что надо сделать? 1 Выделяю ячейки для запрета редактирования, 2 вставляю данный код в ЭтуКнигу, 3 защищаю паролем через рецензирование??? НЕ работает.Приложила файл, снять защиту рецензирования пароль 1.
Может я не туда его вставляю?Может у меня MSO 2016? При всем при этом мне надо это все защитить паролем, что вызывает полнейшее не понимание КАК? Ну не получается, может это и просто  для людей, который пол жизни этим занимаются и понимают это. НО очень тяжело для пользователей, которые представления не имеют о макросах,кодах и прочем.Спасибо.
Код
Sub Protect_and_Structure()
    ActiveSheet.EnableOutlining = True
    ActiveSheet.Protect Contents:=True, Scenarios:=True, UserinterfaceOnly:=True
End Sub
Изменено: Oli2106 - 03.11.2016 17:00:13
 
Цитата
Oli2106 написал:
Если вы не можете мне помочь,то наверное писать смысла не имеет, а писать дабы показать какие вы многознающие
Зря Вы так...
 
Перенеся вопрос в платные, решение найдется быстрее.
 
Цитата
Oli2106 написал:
а писать дабы показать какие вы многознающие
ну как Вам сказать...Если бы Вы читали статью - вопросов было бы меньше и Вы тоже стали бы чуть более знающим человеком :) Но раз непонятно из статьи - так и напишите. Но просьба выбирать выражения все же. Здесь никто Вам ничего вроде пока не обязан, чтобы терпеть подобные выпады. Понятно, что не со зла - но неприятно, знаете ли. Мы помочь пытаемся, а не подняться за Ваш счет
В статье есть такое
Цитата
При этом особо отмечу - не надо перед выполнением этого кода устанавливать защиту на лист стандартными методами через вкладку Рецензирование
Вам вообще не надо трогать защиту листа, чтобы код работал. Он сам устанавливает защиту. А Вы установили вручную. Это раз.
Цитата
Можно ставить защиту сразу на все листы книги при открытии таким кодом: дальше идет код
Цитата
Примечание: данный макрос лучше всего прописывать на событие открытия книги(модуль ЭтаКнига(ThisWorkbook)), т.к. сразу после закрытия и открытия книги данная защита снимается.
Судя по Вашему файлу модуль ЭтаКнига Вы нашли. Только код вставили НЕ ТОТ, который надо, а почему-то только первый. Поэтому ничего и не работает.

Теперь по шагам опишу процесс, раз из статьи это не очевидно:
Вы защиту НЕ УСТАНАВЛИВАЕТЕ через вкладку рецензирование. Оставляете не защищенными листы.
Далее вставляете код
Код
Private Sub Workbook_Open()
    Dim wsSh As Object
    For Each wsSh In Me.Worksheets
        Protect_and_Structure wsSh
    Next wsSh
End Sub
Sub Protect_and_Structure(wsSh As Worksheet)
    wsSh.Unprotect
    wsSh.EnableOutlining = True
    wsSh.Protect Contents:=True, Scenarios:=True, UserinterfaceOnly:=True
End Sub
в ЭтаКнига(туда, где у Вас уже есть код). Это важный момент - именно в этот модуль,Сохраняете книгу. Закрываете. После открытия книги все листы будут защищены, но возможность работы со структурой останется. Пробуйте.
Изменено: The_Prist - 02.11.2016 14:23:29
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
Oli2106 написал:
Перенеся вопрос в платные, решение найдется быстрее.
Да, но от получения решения в платном разделе смышленее в вопросе Вы не станете. Тупо получите решение.
Цитата
Oli2106 написал:
писать дабы показать какие вы многознающие, а все остальные невнимательно читают как минимум не красиво
И все же внимательность при чтении статей подобного рода очень важна - как видно Вы упустили пару важных моментов, что и привело к непониманию принципа в целом и как следствие к неработающему как положено коду. Понятно, что человеку, имеющему с кодами первый опыт это сложнее - но это как в любом деле: всегда с чего-то надо начать и первый опыт труднее последующих...

P.S. Попробую пересмотреть подачу статьи так, чтобы было ясно что и как делать и неподготовленному человеку. Просто статья давно писалась и интерес к подобного рода кодам стал появляться чаще и все больше у тех, кто с макросами вообще дела не имел.
Изменено: The_Prist - 02.11.2016 14:30:41
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
The_Prist, Огромное человеческое спасибо!!! Просто изначально не поняла что все коды частями написаны. Очень вам признательна.
 
The_Prist, спасибо за ваш труд и статью. Так как больше не было ответов в подобном вопросе. Поколение растет, потому вопрос возникает)
 
Oli2106, некрасиво таким образом редактировать своё сообщение ) Я про #6
Страницы: 1
Читают тему
Наверх