Как разрешить изменять только выбранные ячейки?

Для данных на листе от изменений в Excel существует такая команда как Защитить лист(Protect sheet). Найти её можно:

  • в Excel 2003 - Сервис-Защита-Защитить лист
  • в Excel 2007-2013 - вкладка Рецензирование(Review)-Защитить лист(Protect sheet)

Все возможности защиты и видеоурок по защите листов в Excel можно посмотреть на этой странице: Защита листов и ячеек в MS Excel

Но при выполнении этой команды защищаются ВСЕ ячейки листа. Но бывают ситуации, когда защитить необходимо все ячейки, кроме А1, С2 и D3, чтобы изменения можно было делать только в этих ячейках, а значения остальных изменить было невозможно. Очень востребовано это в различного вида заполняемых шаблонах, в которых заполнять можно только определенные ячейки, а все остальные запретить к редактированию. Сделать это достаточно просто. Выделяем ячейки, которые необходимо разрешить изменять(А1, С2 и D3); затем Ctrl+1(или правая кнопка мыши-Формат ячеек(Format cells))-вкладка Защита(Protection). Снимаем галочку с пункта Защищаемая ячейка(Locked). Теперь устанавливаем защиту на лист.

Если необходимо сделать обратное - защитить лишь несколько ячеек, а для всех остальных оставить возможность изменять их, то последовательность будет несколько иной:
  • Выделяем ВСЕ ячейки листа (это можно сделать так: щелкаете левой кнопкой мыши на пересечении заголовков строки и столбцов):
    Выделить все ячейки
  • Формат ячеек(Format cells)-вкладка Защита(Protection). Снимаем галочку с пункта Защищаемая ячейка(Locked)
  • выделяем нужные ячейки (если ячейки не "в одной кучке", а по отдельности, то выделить их можно по одной, зажав клавишу Ctrl)
  • Формат ячеек(Format cells)-вкладка Защита(Protection). Ставим галочку Защищаемая ячейка(Locked)

После этого устанавливаете защиту на лист(как см. в самом начале статьи) и вуа-ля! Изменять можно только те ячейки, у которых снята галка с "Защищаемая ячейка"(Locked).
При этом, если при защите листа снять галочку с пункта выделение заблокированных ячеек(Select locked cells) - выделять можно будет только те ячейки, которые разрешены для редактирования. Так же перемещение по ячейкам стрелками, TAB-ом и после нажатия Enter будет происходить исключительно по незащищенным ячейкам. Это может быть полезно, чтобы пользователю не пришлось самому угадывать в каких ячейках можно изменять значения, а в каких нет.

Так же на вкладке Защита(Protection) есть пункт Скрыть формулы(Hidden). Если его установить вместе с установкой атрибута Защищаемая ячейка, то после установки защиты в защищенных ячейках невозможно будет увидеть формулы - только результаты их вычислений. Полезно, если хотите оставить возможность вводить какие-то параметры, а расчеты формулами оставить "за кадром".

Также см.:
Защита листов и ячеек в MS Excel
Защита листов/снятие защиты
Как защитить лист от пользователя, но не от макроса?
Как оставить возможность работать с группировкой/структурой на защищенном листе?

Loading

25 комментариев

  1. Добрый день.
    Данный способ наши гениальные пользователи нашли как обойти.
    Они копируют данные в которых им надо изменить формат, вставляют в новый файл excel, изменяют формат, а потом вставляют обратно в документ и при вставки остается измененный формат.
    Подскажите, пожалуйста, как с этим бороться?

  2. Илья, если имеется ввиду то, что пользователи копируют обратно целиком лист, то просто защитите книгу(Структура и Окна). По-другому я не знаю как Ваши пользователи вообще умудряются вставить в защищенные ячейки данные. По идее этого сделать нельзя ни при каких обстоятельствах, если это запрещено защитой листа.

  3. Дмитрий, нет, не целиком. Я ставлю защиту на ячейки, которые я вообще не хочу, чтоб они меняли и ставлю защиту на лист с невозможностью форматирования ячеек, так как я не хочу, чтоб они меняли цвет ячеек, шрифт, величину шрифта и т.д.
    Но они все равно умудряются изменить формат ячеек, способом который я описал выше, копирую не весь лист (они не могу скопировать весь лист, если есть защищенные ячейки), а только не защищенные ячейки.

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

  5. Да, я не прав по поводу данной статьи (хотя я видел 5-6 разных статей, как снять пароль). Действительно редактировать ячейки нельзя, если ячейка защищена. Но меня интересует больше как сделать, чтобы пользователи не могли менять формат, но могли вносить туда информацию.

  6. Все понятно написано и работает, но только когда я делаю все это на пустом листе, на листе с уже имеющимися данными, ничего не получается, защита листа работает, но в не защищенные ячейки ничего внести не могу!!! Что делать?

  7. Мария, здесь никто ответ на это не даст. Ячейки либо защищены, либо макрос какой мешает изменить данные. Нужно видеть файл с данным чудом. Можете обратиться на форум - там есть возможность файлы выкладывать.

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.