Как запретить вставку в excel

Обновлено: 02.07.2024

Hi, a question i have a Macro and i feed this file with another file then i need:

1. Allow Copy the external file and copy in my macro
2. Prevent Copy in my macro and paste to external file is posible?

I am trying to disable cut/paste tool in MS excel 2016 not the copy/paste tool. Can you give an idea? Reposting so it is public-apologizing in advance to administrators.

This works great, how would one modify this to allow copy/paste in specific columns that have pull down menus tied to named ranges of acceptable input and only the acceptable input. For instance a name that is Jetson, George, 25, would allow a copy/paste of Jetson, George, 25 but would not allow Jeston, George, 26. Or a drag and fill that would result in Jetson, George, 25 then 26, then 27, etc.

In my worksheet I want to completely disable cut/copy/paste in certain columns, then only allow copy/paste of acceptable data from drop downs.

This works great, how would one modify this to allow copy/paste in specific columns that have pull down menus tied to named ranges of acceptable input and only the acceptable input. For instance a name that is Jetson, George, 25, would allow a copy/paste of Jetson, George, 25 but would not allow Jeston, George, 26. Or a drag and fill that would result in Jetson, George, 25 then 26, then 27, etc. In my worksheet I want to completely disable cut/copy/paste in certain columns, then only allow cut copy paste of acceptable data from drop downs.

use this code to disable copy cut & paste

Private Sub Workbook_Activate()
Application.CutCopyMode = False
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
End Sub

Private Sub Workbook_Deactivate()
Application.CellDragAndDrop = True
Application.OnKey "^c"
Application.CutCopyMode = False
End Sub

Private Sub Workbook_WindowActivate(ByVal Wn As Window)
Application.CutCopyMode = False
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
End Sub

Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
Application.CellDragAndDrop = True
Application.OnKey "^c"
Application.CutCopyMode = False
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.CutCopyMode = False
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Application.OnKey "^c", ""
Application.CellDragAndDrop = False
Application.CutCopyMode = False
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Application.CutCopyMode = False
End Sub


and want to enable these function again

I used this code & want to Re-enable again? how to re-enable it? This still allows pasting from Notepad or Microsoft Edge. Please see if there is a way prevent pasting from any source. Hi,
If prevent pasting from any source, we need to prevent the Notepad feature, which may bring inconvenience. We do not recommend this. Sorry can't help you for that. That code isn't working in my excel 2016 for a single sheet instead of the whole workbook cut copy paste applicable Entire workbook. If i need this Code only i particular sheet.Is it Possible ??
please help. we need only one sheet disable functions. another sheet we are working all functions. Thanks it works perfect . can it be applied on a range only somehow?

Hi, the code works well thanks.
However, the read only option was enabled. (if you don't want to modify). If I set ..File, save as, tools, general options, read only recommended.. then the code does not work.

Thanks in advance.

Thank your for your direction.I am Trying in office 2013 ,but nothing changed. Was super glad to find this post but I need a little help in limiting this to a single worksheet in a multi-worksheet Workbook. And need to know how to execute this without user intervention. we need this ASAP on a workbook to help prevent errors.

Good day,
The following VBA code can help you to solve the problem. And don't forget to replace "Sheet2" in the code with your sheet name.

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

Блокировка только определенных ячеек и диапазонов ячеек на защищенном листе

Если лист защищен, сделайте следующее:

На вкладке Рецензировка нажмите кнопку Отостановка листа (в группе Изменения).

Команда "Снять защиту листа"

Если будет предложено, введите пароль, чтобы отоблести защиты.

Выделите лист целиком, нажав кнопку Выделить все.

Кнопка Выбрать все

На вкладке Главная щелкните всплывающее кнопку запуска Формат шрифта ячейки. Вы также можете нажать клавиши CTRL+SHIFT+F или CTRL+1.

Кнопка вызова диалогового окна "Формат ячеек"

Во всплываемом окне Формат ячеек на вкладке Защита отоберем поле Блокировка и нажмите кнопку ОК.

Вкладка "Защита" в диалоговом окне "Формат ячеек"

При защите листа все ячейки будут разблокированы. Теперь вы можете выбрать конкретные ячейки, которые нужно защитить.

Выделите на листе только те ячейки, которые необходимо заблокировать.

Снова отключим всплывающее окно Формат ячеек (CTRL+SHIFT+F).

В этот раз на вкладке Защита выберите поле Заблокировано и нажмите кнопку ОК.

На вкладке Рецензирование нажмите кнопку Защитить лист.

В списке Разрешить всем пользователям этого таблицы выберите элементы, которые пользователи должны иметь возможность изменять.

Дополнительные сведения об элементах листа

Снятый флажок

Запрещаемые действия

выделение заблокированных ячеек

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

выделение незаблокированных ячеек

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

формат ячеек

Изменение параметров в диалоговых окнах Формат ячеек или Условное форматирование. Если условное форматирование было применено до установки защиты листа, форматирование будет изменяться при вводе значения, удовлетворяющего определенному условию.

форматирование столбцов

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

форматирование строк

Использование любых команд форматирования строк, включая изменение высоты строки или скрытие строк (вкладка Главная, группа Ячейки, кнопка Формат).

вставку столбцов

вставку строк

вставку гиперссылок

Вставка новых гиперссылок (даже в незаблокированных ячейках).

удаление столбцов

Если команда удаление столбцов защищена, а команда вставку столбцов не защищена, пользователь не сможет удалять столбцы, которые он вставит.

удаление строк

Если команда удаление строк защищена, а команда вставку строк не защищена, пользователь не сможет удалять строки, которые он вставит.

Использование команд для сортировки данных (вкладка Данные, группа Сортировка и фильтр).

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

использование автофильтра

Использование стрелок раскрывающегося списка для изменения фильтра в диапазонах, если применяются автофильтры.

Пользователи не смогут применить или удалить автофильтры на защищенном листе независимо от настройки этого параметра.

использование отчетов сводной таблицы

Форматирование, изменение макета, обновление или изменение отчетов сводной таблицы каким-либо иным образом, а также создание новых отчетов.

изменение объектов

Выполнять следующие действия:

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

Внесение каких-либо изменений (например, форматирование) во встроенную диаграмму. Диаграмма по-прежнему будет обновляться при изменениях ее исходных данных.

Добавление или изменение примечаний.

изменение сценариев

Просмотр скрытых сценариев, изменение сценариев с установленным запретом на изменения и удаление этих сценариев. Пользователи могут изменять значения в изменяемых ячейках, если ячейки не защищены, и добавлять новые сценарии.

Элементы листа диаграммы

Запрещаемые действия

Изменение элементов, являющихся частью диаграммы, таких как ряды данных, оси и легенды. При этом в диаграммах будут отображаться изменения, вносимые в исходные данные.

Изменение графических объектов, включая фигуры, текстовые поля и элементы управления (если объекты не были разблокированы до включения защиты листа диаграммы).

В поле Пароль для отключения защиты листа введите пароль для листа, нажмите кнопку ОК, а затем повторно введите пароль для подтверждения.

Пароль необязателен. Если не задать пароль, любой пользователь сможет снять защиту с листа и изменить защищенные элементы.

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

Разблокировка диапазонов ячеек на защищенном листе для их изменения пользователями

Чтобы предоставить определенным пользователям разрешение изменять диапазоны на защищенном листе, на компьютере должна быть установлена операционная система Microsoft Windows XP или более поздней версии, а сам компьютер должен находиться в домене. Вместо использования разрешений, для которых требуется домен, можно также задать пароль для диапазона.

Выберите листы, которые нужно защитить.

На вкладке Рецензирование в группе Изменения нажмите кнопку Разрешить изменение диапазонов.

Эта команда доступна, только если лист не защищен.

Выполните одно из следующих действий:

Чтобы добавить новый редактируемый диапазон, нажмите кнопку Создать.

Чтобы изменить существующий редактируемый диапазон, выберите поле Диапазоны защищенного листа, разблокируемые паролем, затем нажмите кнопку Изменить.

Чтобы удалить редактируемый диапазон, выберите поле Диапазоны защищенного листа, разблокируемые паролем, затем нажмите кнопку Удалить.

В поле Название введите имя диапазона, который необходимо разблокировать.

В поле Содержит ячейки введите знак равенства (=), а затем ссылку на диапазон, который необходимо разблокировать.

Также можно нажать кнопку Свернуть диалоговое окно, выбрать на листе диапазон, а затем снова нажать кнопку Свернуть диалоговое окно, чтобы вернуться к диалоговому окну.

Для управления доступом с помощью пароля в поле Пароль диапазона введите пароль для доступа к диапазону.

При использовании разрешений на доступ задавать пароль необязательно. Использование пароля позволяет просматривать учетные данные всех полномочных пользователей, изменяющих диапазон.

Для установки разрешений на доступ выберите пункт Разрешения и нажмите кнопку Добавить.

В поле Введите имена объектов для выбора (примеры) введите имена пользователей, которым нужно разрешить изменять диапазоны.

Чтобы посмотреть, как должны вводиться имена пользователей, щелкните примеры. Чтобы проверить правильность имен, нажмите кнопку Проверить имена.

Чтобы указать тип разрешений для выбранного пользователя, в поле Разрешения установите или снимите флажок Разрешить или Запретить, а затем нажмите кнопку Применить.

При необходимости введите заданный пароль.

В диалоговом окне Разрешить изменение диапазонов нажмите кнопку Защитить лист.

В списке Разрешить всем пользователям этого листа выберите элементы, которые должны изменять пользователи.

Дополнительные сведения об элементах листа

Снятый флажок

Запрещаемые действия

выделение заблокированных ячеек

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

выделение незаблокированных ячеек

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

формат ячеек

Изменение параметров в диалоговых окнах Формат ячеек или Условное форматирование. Если условное форматирование было применено до установки защиты листа, форматирование будет изменяться при вводе значения, удовлетворяющего определенному условию.

форматирование столбцов

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

форматирование строк

Использование любых команд форматирования строк, включая изменение высоты строки или скрытие строк (вкладка Главная, группа Ячейки, кнопка Формат).

вставку столбцов

вставку строк

вставку гиперссылок

Вставка новых гиперссылок (даже в незаблокированных ячейках).

удаление столбцов

Если команда удаление столбцов защищена, а команда вставку столбцов не защищена, пользователь не сможет удалять столбцы, которые он вставит.

удаление строк

Если команда удаление строк защищена, а команда вставку строк не защищена, пользователь не сможет удалять строки, которые он вставит.

Использование команд для сортировки данных (вкладка Данные, группа Сортировка и фильтр).

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

использование автофильтра

Использование стрелок раскрывающегося списка для изменения фильтра в диапазонах, если применяются автофильтры.

Пользователи не смогут применить или удалить автофильтры на защищенном листе независимо от настройки этого параметра.

использование отчетов сводной таблицы

Форматирование, изменение макета, обновление или изменение отчетов сводной таблицы каким-либо иным образом, а также создание новых отчетов.

изменение объектов

Выполнять следующие действия:

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

Внесение каких-либо изменений (например, форматирование) во встроенную диаграмму. Диаграмма по-прежнему будет обновляться при изменениях ее исходных данных.

Добавление или изменение примечаний.

изменение сценариев

Просмотр скрытых сценариев, изменение сценариев с установленным запретом на изменения и удаление этих сценариев. Пользователи могут изменять значения в изменяемых ячейках, если ячейки не защищены, и добавлять новые сценарии.

Элементы листа диаграммы

Запрещаемые действия

Изменение элементов, являющихся частью диаграммы, таких как ряды данных, оси и легенды. При этом в диаграммах будут отображаться изменения, вносимые в исходные данные.

Изменение графических объектов, включая фигуры, текстовые поля и элементы управления (если объекты не были разблокированы до включения защиты листа диаграммы).

В поле Пароль для отключения защиты листа введите пароль, нажмите кнопку ОК, а затем повторно введите пароль для подтверждения.

Пароль необязателен. Если его не задать, любой пользователь сможет снять защиту с листа и изменить защищенные элементы.

Убедитесь, что вы выбрали пароль, который можете запомнить. Если вы потеряете пароль, вы не сможете получить доступ к защищенным элементам на этом сайте.

Если ячейка принадлежит к нескольким диапазонам, ее смогут редактировать пользователи, имеющие права на редактирование любого из этих диапазонов.

Если пользователь пытается редактировать несколько ячеек одновременно и имеет разрешение на изменение только некоторых из них, пользователю будет предложено изменить ячейки по одному.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

Чтобы предотвратить умышленное или случайное изменение, перемещение или удаление данных на листе другими пользователями, можно заблокировать ячейки на листе Excel, а затем защитить его паролем. Предположим, что у вас есть лист отчета о работе группы и вы хотите, чтобы ее участники могли добавлять данные только в определенные ячейки и не могли изменять другие элементы. С помощью защиты листа можно сделать доступными для редактирования только определенные части листа, после чего пользователи не смогут изменять данные в других его областях.

Защита листа не является функцией безопасности. Она просто запрещает изменение заблокированных ячеек на листе.

Защита листа отличается от защиты файла или книги Excel паролем. Дополнительные сведения см. ниже.

Сведения о том, как заблокировать файл, чтобы другие пользователи не смогли открыть его, см. в статье Защита файла Excel.

Чтобы предотвратить добавление, изменение, перемещение, копирование или скрытие и отображение листов в книге, см. статью Защита книги.

Чтобы узнать, чем защита файла Excel отличается от защиты книги или листа, прочтите статью Защита и безопасность в Excel.

Выбор элементов ячейки для блокировки

Вот какие элементы можно заблокировать на незащищенном листе:

Формулы: если вы не хотите, чтобы другие пользователи видели формулы, их можно скрыть из ячеек или строки формул. Дополнительные сведения см. в теме Отображение и скрытие формул.

Диапазоны: вы можете позволить пользователям работать в определенных диапазонах на защищенном листе. Дополнительные сведения см. в статье Блокировка и разблокировка определенных областей защищенного листа.

Примечание: Элементы ActiveX, элементы управления форм, фигуры, диаграммы, графические элементы SmartArt, спарклайны, срезы, временные шкалы и некоторые другие элементы блокируются сразу после добавления в таблицу. Однако блокировка будет работать только в том случае, если включена защита листа. Дополнительные сведения о том, как включить защиту, см. в следующем разделе.

Включение защиты листа

Защита листа выполняется в два этапа: сначала нужно разблокировать ячейки, которые пользователи должны изменять, а затем защитить лист с использованием пароля или без него.

Шаг 1. Разблокировка всех ячеек, которые необходимо изменять

В файле Excel щелкните ярлычок листа, который вы хотите защитить.

Выделите ячейки, которые должны изменять другие пользователи.

Совет: Чтобы выделить несколько несмежных ячеек, нажмите и удерживайте клавишу CTRL и щелкните их левой кнопкой мыши.

Щелкните правой кнопкой мыши в любом месте листа и выберите команду Формат ячеек (либо нажмите клавиши CTRL+1 или COMMAND1 на компьютере Mac), а затем откройте вкладку Защита и снимите флажок Защищаемая ячейка.

Шаг 2. Защита листа

Решите, какие действия пользователи должны выполнять на листе (например, вставка и удаление столбцов или строк, изменение объектов, сортировка или использование автофильтра). Кроме того, вы также можете указать пароль, чтобы заблокировать лист. Пароль не позволит другим пользователям снять с листа защиту — его потребуется ввести для ее отключения.

Ниже приведены инструкции по защите листа.

На вкладке Рецензирование нажмите кнопку Защитить лист.

В списке Разрешить всем пользователям этого листа установите флажки для элементов, изменение которых должно быть доступно пользователям.

Диалоговое окно «Защита листа»

Возможность

выделение заблокированных ячеек

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

выделение незаблокированных ячеек

Перемещение указателя на ячейки, для которых снят флажок Защищаемая ячейка на вкладке Защита в диалоговом окне Формат ячеек. По умолчанию пользователям разрешено выделять незащищенные ячейки, а также перемещаться между незащищенными ячейками на защищенном листе с помощью клавиши TAB.

форматирование ячеек

Изменение параметров в диалоговых окнах Формат ячеек или Условное форматирование. Если условное форматирование было применено до установки защиты листа, форматирование будет изменяться при вводе значения, удовлетворяющего определенному условию.

форматирование столбцов

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

форматирование строк

Использование любых команд форматирования строк, включая изменение высоты строки или скрытие строк (вкладка Главная, группа Ячейки, кнопка Формат).

вставку столбцов

вставку строк

вставку гиперссылок

Вставка новых гиперссылок (даже в незаблокированных ячейках).

удаление столбцов

Примечание: Если delete columns is protected and Insert columns is not protected, a user can insert columns but cannot delete them.

удаление строк

Примечание: Если delete rows is protected and Insert rows is not protected, a user can insert rows but cannot delete them.

Использование команд для сортировки данных (вкладка Данные, группа Сортировка и фильтр).

Примечание: Пользователи не смогут сортировать диапазоны, содержащие заблокированные ячейки на защищенном листе, независимо от настройки этого параметра.

использование автофильтра

Использование стрелок раскрывающегося списка для изменения фильтра в диапазонах, если применяются автофильтры.

Примечание: Пользователи не смогут применять или удалять автофильтры на защищенном листе независимо от настройки этого параметра.

использование отчетов сводной таблицы

Форматирование, изменение макета, обновление данных либо иное изменение отчетов сводной таблицы, а также создание отчетов.

изменение объектов

Выполнять следующие действия:

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

Внесение каких-либо изменений (например, форматирование) во встроенную диаграмму. Диаграмма по-прежнему будет обновляться при изменениях ее исходных данных.

Добавлять и редактировать заметки.

изменение сценариев

Просмотр скрытых сценариев, изменение сценариев с установленным запретом на изменения и удаление этих сценариев. Пользователи могут изменять значения в изменяемых ячейках, если ячейки не защищены, и добавлять новые сценарии.

При желании можно ввести пароль в поле Пароль для отключения защиты листа и нажать кнопку ОК. В диалоговом окне Подтверждение пароля еще раз введите пароль и нажмите ОК.

Используйте надежные пароли, состоящие из букв в верхнем и нижнем регистре, цифр и символов. В ненадежных паролях не используются сочетания таких элементов. Пароль должен состоять не менее чем из 8 знаков. Лучше использовать в качестве passphrase 14 или более символов.

Очень важно запомнить свой пароль. Если вы забудете пароль, корпорация Майкрософт не сможет его восстановить.

Если лист защищен, команда Защитить лист на ленте изменяется на Снять защиту листа. Команду Снять защиту листа можно найти на вкладке Рецензирование в группе Изменения.

Изображение ленты Excel

Чтобы снять защиту листа, сделайте следующее:

Выберите лист, защиту которого вы хотите снять.

Выберите Файл > Сведения > Защита > Снять защиту листа или РецензированиеИзменения > Снять защиту листа.

Если лист защищен паролем, введите его в диалоговом окне Защита листа и нажмите кнопку OK.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

Если вы работаете(или работали) в более-менее крупной компании, то 100% сталкивались с ситуацией, когда необходимо переслать свой файл другому сотруднику и при этом запретить ему изменять какие-то данные (чаще всего это ячейки с формулами, которые пользователь ни в коем случае не должен менять, а в идеале даже видеть. Видеть он должен только результат вычислений этих формул). В тоже время надо оставить возможность при необходимости изменить любые ячейки или данные, но исключительно после ввода пароля. Все это можно сделать при помощи стандартной защиты листов в Excel.

Окно защиты листа

Установка защиты листов
Чтобы защитить лист необходимо перейти на вкладку Рецензирование (Review) -группа Изменения (Changes) -Защитить лист (Protect sheet) .
в Excel 2003 - Сервис-Защита-Защитить лист.
для версий Excel 2010 и выше так же можно щелкнуть правой кнопкой мыши на ярлыке нужного листа и выбрать Защитить лист (Protect sheet)
После нажатия появится окно:

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

  • выделение заблокированных ячеек (Select locked cells) - разрешено выделять ячейки, для которых установлен атрибут Защищаемая ячейка (правая кнопка мыши на ячейке/диапазоне -Формат ячеек (Format cells) -вкладка Защита (Protection) -Защищаемая ячейка (Locked) ). Если отметить этот пункт, то пункт выделение незаблокированных ячеек будет отмечен автоматически, т.к. если разрешено выделение заблокированных ячеек, то конечно, должно быть разрешено выделять и незаблокированные.
  • выделение незаблокированных ячеек (Select unlocked cells) - будет разрешено выделять только те ячейки, для которых атрибут Защищаемая ячейка не установлен. Применяется вместе с отключением пункта выделение заблокированных ячеек, чтобы запретить пользователю после установки защиты даже выделять запрещенные к изменению ячейки. Таким образом пользователь будет вынужден перемещаться только по тем ячейкам, которые ему можно изменять. Подробнее про применение свойства "Защищаемая ячейка" можно ознакомиться в этой статье: Как разрешить изменять только выбранные ячейки?
  • форматирование ячеек (Format cells) - будет разрешено изменять форматы ячеек: цвет заливки, цвет шрифта, размер шрифта, имя шрифта, границы, отступы и т.п.
  • форматирование столбцов (Format columns) - несмотря на вроде понятное название при установке разрешает изменять ширину столбцов. При этом, если пункт форматирование ячеек не установлен, то изменять цвет шрифта, заливки и т.п. будет запрещено
  • форматирование строк (Format rows) - так же как и в случае с пунктом форматирование столбцов при установке разрешает изменять высоту строк, но при этом невозможно изменять цвет шрифта, заливки и т.п., если пункт форматирование ячеек не установлен
  • вставку столбцов (Insert columns) - разрешает вставку целых столбцов (вставлять отдельные ячейки при этом запрещено)
  • вставку строк (Insert rows) - разрешает вставку целых строк (вставлять отдельные ячейки при этом запрещено)
  • вставку гиперссылок (Insert hyperlinks) - разрешает создание гиперссылок на листе (Что такое гиперссылка?). Правда, при этом создать гиперссылки можно будет исключительно в незаблокированных ячейках.
  • удаление столбцов (Delete columns) - разрешает удаление целых столбцов. При этом удаление столбцов допускается только в том случае, если столбец не содержит заблокированных ячеек. Если хоть одна ячейка в столбце с атрибутом "Защищаемая ячейка", то удаление столбца невозможно. Так же невозможно удалять отдельные ячейки внутри столбцов, даже если все ячейки не заблокированные
  • удаление строк (Delete rows) - разрешает удаление целых строк. При этом удаление строк допускается только в том случае, если строка не содержит заблокированных ячеек. Если в строке есть хоть одна ячейка с атрибутом "Защищаемая ячейка", то удаление строки невозможно. Так же невозможно удалять отдельные ячейки внутри строк, даже если все ячейки в строке не заблокированные
  • сортировку (Sort) - один из "хитрых" пунктов. Хоть сам пункт сортировки активен и доступен для вызова, сама сортировка при этом разрешена только в том случае, если все ячейки внутри сортируемого диапазона не заблокированные. Если внутри диапазона будет хоть одна заблокированная ячейка (с атрибутом "Защищаемая ячейка"), то сортировка будет невозможна
  • использование автофильтра (Use Autofilter) - тоже "хитрый" пункт. Как следует из описания допускается только использование автофильтра. Это означает, что если автофильтр уже установлен на листе, то после защиты его можно будет использовать для отбора данных. Однако если фильтр не был установлен до установки защиты на лист - то установить фильтр будет уже невозможно без снятия защиты
  • использование отчетов сводной таблицы (Use PivotTable reports) - при установке будет возможно использовать сводную таблицу для анализа данных: перемещать поля внутри сводной таблицы, отбирать и фильтровать данные. Однако невозможно при этом будет изменить источник данных, обновлять сводную, изменять функции полей, добавлять вычисляемые поля, убирать и добавлять промежуточные итоги, менять макет отчета, стили и т.п.
  • изменение объектов (Edit objects) - будет возможно добавлять, выделять и даже удалять объекты на листе, а так же изменять их размеры и большинство свойств (цвета границ, заливки, эффекты свечения и стилей и пр.). К объектам в данном случае относятся Фигуры (Shapes) , Рисунки (Pictures) , объекты SmartArt, Диаграммы (Charts)
  • изменение сценариев (Edit scenarios) - если до установки защиты были созданы сценарии (Данные (Data) -Анализ Что-если (What-If Analysis) -Диспетчер сценариев (Scenario manager) ), то после установки защиты их можно будет изменять.

После установки нужных параметров и нажатия ОК:

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

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

Если в файле присутствует группировка или структура (Данные (Data) -Группировать (Group) ), то её использование будет невозможно на защищенном листе. Она будет доступна только в том виде, в котором была до установки защиты. Хотя здесь тоже есть лазейка, но уже только с применением Visual Basic for Applications(VBA - встроенный в MS Office язык программирования): Как оставить возможность работать с группировкой/структурой на защищенном листе?

Если в файле используются макросы или файл предполагается обрабатывать макросами, то в макросах необходимо предусмотреть снятие кодом защиты перед какими-либо изменениями на листе и последующую установку защиты после всех необходимых действий. Подробнее можно прочитать в статье: Как защитить лист от пользователя, но не от макроса?

Снятие защиты

Снятие защиты с листа
Чтобы снять защиту с листа необходимо перейти на вкладку Рецензирование (Review) -группа Изменения (Changes) -Снять защиту листа (Unprotect sheet) . Если лист был защищен без пароля, то защита будет снята сразу. Если лист был защищен с указанием пароля, то появится окно с запросом пароля

в это поле необходимо ввести пароль и нажать Ок. Если пароль неизвестен или был забыт, то стандартно снять защиту с листа будет уже невозможно.

Насколько стойкая защита листов в Excel
К сожалению или счастью защита листов в Excel совершенно не стойкая ко взлому. Защита с листа, если пароль не известен, снимается на раз-два даже при помощи VBA. В надстройке MulTEx есть специальная команда, которая поможет снять защиту с листа, если пароль был забыт или утерян: Снять защиту с листа(без пароля).
Но стоит учитывать тот факт, что защита листов изначально не планировалась как средство защиты своих расчетных алгоритмов и интеллектуальной собственности. Защита листов(как и книг) задумывалась как защита "от дурака" - т.е. дабы случайно или по неумению данные не были испорчены или удалены.
Плюс Microsoft все же совершенствует Excel и с выходом новых версий происходят изменения и в области защиты, что не может не радовать. Например, защита листов и книг начиная с версии Excel 2013 уже более стойкая(для тех кто в теме: алгоритм SHA-512 в 2013 и выше против SHA1 в ранних версиях). Это значит, что простым брутфорсом поломать такую защиту хоть и можно, но времени на это уйдет уже гораздо больше. Хотя для снятия защиты с листов в открытых форматах(.xlsx,.xlsm и им подобных) возможно и другими методами.

Читайте также: