Защита данных в Microsoft Excel
Microsoft Excel предоставляет пользователю несколько, условно выражаясь, уровней защиты - от простой защиты отдельных ячеек до шифрования всего файла шифрами крипто-алгоритмов семейства RC4. Разберем их последовательно...
Уровень 0. Защита от ввода некорректных данных в ячейку
Самый простой способ. Позволяет проверять что именно пользователь вводит в определенные ячейки и не разрешает вводить недопустимые данные (например, отрицательную цену или дробное количество человек или дату октябрьской революции вместо даты заключения договора и т.п.) Чтобы задать такую проверку ввода, необходимо выделить ячейки и выбрать на вкладке Данные (Data) кнопку Проверка данных (Data Validation). В Excel 2003 и старше это можно было сделать с помощью меню Данные - Проверка (Data - Validation). На вкладке Параметры из выпадающего списка можно выбрать тип разрешенных к вводу данных:
Соседние вкладки этого окна позволяют (при желании) задать сообщения, которые будут появляться перед вводом - вкладка Сообщение для ввода (Input Message), и в случае ввода некорректной информации - вкладка Сообщение об ошибке (Error Alert):
Уровень 1. Защита ячеек листа от изменений
Мы можем полностью или выборочно запретить пользователю менять содержимое ячеек любого заданного листа. Для установки подобной защиты следуйте простому алгоритму:
- Выделите ячейки, которые не надо защищать (если таковые есть), щелкните по ним правой кнопкой мыши и выберите в контекстном меню команду Формат ячеек (Format Cells). На вкладке Защита (Protection) снимите флажок Защищаемая ячейка (Locked). Все ячейки, для которых этот флажок останется установленным, будут защищены при включении защиты листа. Все ячейки, где вы этот флаг снимете, будут доступны для редактирования несмотря на защиту. Чтобы наглядно видеть, какие ячейки будут защищены, а какие - нет, можно воспользоваться этим макросом.
- Для включения защиты текущего листа в Excel 2003 и старше - выберите в меню Сервис - Защита - Защитить лист (Tools - Protection - Protect worksheet), а в Excel 2007 и новее - нажмите кнопку Защитить лист (Protect Sheet) на вкладке Рецензирование (Reveiw). В открывшемся диалоговом окне можно задать пароль (он будет нужен, чтобы кто попало не мог снять защиту) и при помощи списка флажков настроить, при желании, исключения:
Т.е., если мы хотим оставить пользователю возможность, например, форматировать защищенные и незащищенные ячейки, необходимо установить первых три флажка. Также можно разрешить пользователям использовать сортировку, автофильтр и другие удобные средства работы с таблицами.
Уровень 2. Выборочная защита диапазонов для разных пользователей
Если предполагается, что с файлом будут работать несколько пользователей, причем каждый из них должен иметь доступ в свою область листа, то можно установить защиту листа с разными паролями на разные диапазоны ячеек.
Чтобы сделать это выберите на вкладке Рецензирование (Review) кнопку Разрешить изменение диапазонов (Allow users edit ranges). В версии Excel 2003 и старше для этого есть команда в меню Сервис - Защита - Разрешить изменение диапазонов (Tools - Protection - Allow users to change ranges):
В появившемся окне необходимо нажать кнопку Создать (New) и ввести имя диапазона, адреса ячеек, входящих в этот диапазон и пароль для доступа к этому диапазону:
Повторите эти действия для каждого из диапазонов разных пользователей, пока все они не окажутся в списке. Теперь можно нажать кнопку Защитить лист (см. предыдущий пункт) и включить защиту всего листа.
Теперь при попытке доступа к любому из защищенных диапазонов из списка, Excel будет требовать пароль именно для этого диапазона, т.е. каждый пользователь будет работать "в своем огороде".
Уровень 3. Защита листов книги
Если необходимо защититься от:
- удаления, переименования, перемещения листов в книге
- изменения закрепленных областей ("шапки" и т.п.)
- нежелательных изменений структуры (сворачивание строк/столбцов при помощи кнопок группировки "плюс/минус")
- возможности сворачивать/перемещать/изменять размеры окна книги внутри окна Excel
то вам необходима защита всех листов книги, с помощью кнопки Защитить книгу (Protect Workbook) на вкладке Рецензирование (Reveiw) или - в старых версиях Excel - через меню Сервис - Защита - Защитить книгу (Tools - Protection - Protect workbook):
Уровень 4. Шифрование файла
При необходимости, Excel предоставляет возможность зашифровать весь файл книги, используя несколько различных алгоритмов шифрования семейства RC4. Такую защиту проще всего задать при сохранении книги, т.е. выбрать команды Файл - Сохранить как (File - Save As), а затем в окне сохранения найти и развернуть выпадающий список Сервис - Общие параметры (Tools - General Options). В появившемся окне мы можем ввести два различных пароля - на открытие файла (только чтение) и на изменение:
Как избежать взлома защищенных листов в ексель?
Спасибо
взломать будет труднее
Спасибо за уточнение - будем пользоваться
или имеется ввиду пароль на сам файл?
Пара вопросов по Уровню 0. Защита от ввода некорректных данных в ячейку.
Вопрос 1. Есть поле, в которое должен вводиться пользователем почтовый индекс. Т.е. целое число, длиной 6 символов. Однако кроме типа данных Эксель просит указать еще и диапозон верных значений. Можно было бы задать диапозон 100000-999999, но в него не попадут индексы, начинающиеся с нуля. Как правильно задать значения?
Вопрос 2. Редко кто вводит индекс с клавиатуры, обычно предпочитают копировать-вставить. Как защитить ячейку от вставки некорректного числа и изменения формата (на формат ячейки-источника)?
2. Тоже только макросом - перехватывать копирование-вставку.
Воспользовался вашим скриптом для внесения текущей даты в ячейку при внесении изменений в предыдущую ячейку. Пробую защитить лист книги по этому методу. Но скрипт теперь не работает на заблокированных ячейках. Как можно исправить ситуацию.
Задача такая: есть выпадающий список в ячейке. При выборе значения ячейки автоматически вставляется дата, время и имя компьютера в соседних ячейках. Но значения этих ячеек изменять нельзя. Как можно реализовать данный алгоритм.
Буду очень благодарен если поможете!!!
забыла пароль снятия защиты общей книги excel, как снять пароль, что можно сделать в таких ситуациях?
спасибо!
Очень надеюсь на вашу помощь )
Столкнулся с одной проблемой при защите ячеек в "умных таблицах". Дело в том, что в таких таблицах данная защита не работает, точнее работает, но только за переделами диапазона ячеек "умной таблицы". Подскажите, как мне заблокировать то, что я хочу?
Спасибо за урок по защите. Подскажите, как сделать, чтобы определенные защищенные ячейки при копирование в той же книге и листе сохранялись защищенные. Спасибо.
есть 4-ро пользователей. Первый - главный (может всегда видеть и редактировать все), второй - менеджер (может видеть также всегда только часть листов и только их редактировать), третий - бухгалтер ( может видеть все и всегда, но ничего редактировать не может), четвертый - регистратура (доступ только к формированию первичных документов СЕГОДНЯШНЕГО дня и видит предыдущие два дня. и постоянный доступ без редактирования к некоторой базе данных)
Спасибо
Подскажите пожалуйста:
есть таблица с данными, часть таблицы нужно оградить от видимости, я сгруппировала данные и запоролила их.
но теперь группировкой по строкам пользоваться я тоже не могу.
можно ли поставить защиту на группировку столбцов, но сохранить возможность пользования группировкой по строкам:?:
заранее спасибо
в столбце таблицы есть формула, которая протягивается на весь столбец, за исключением некоторых ячеек с константами, которые нельзя менять.
Но если я меняю формулу в одной из ячеек, мне предлагает изменить её и во всём столбце ("Заполнить все ячейки данного столбца указанной формулой"), в том числе и в тех ячейках с константами. Как это можно предотвратить, как их защитить от автозамены?
Есть колонка в таблице, в которой стоит одинаковая формула во всех ячейках за исключением некоторых, в которых должны стоять константы. Эти некоторые ячейки защищены от изменения.
Теперь, когда я изменяю формулу в одной из ячеек, мне предлагает "Заполнить все ячейки данного столбца указанной формулой", на что у меня есть два варианта действий:
1. Защищаю лист от изменений и соглашаюсь заполнить ячейки формулой - выдаёт ошибку (предупреждение) о защите, и изменения не происходят.
2. Не защищаю лист от изменений и соглашаюсь заполнить ячейки формулой - меняет на новую формулу во всём столбце, в том числе и в защищённых ячейках, изменяя константу на формулу.
Протяжка формулы также не помогает на защищённом листе.
Как можно автозаполнять столбец формулой, не изменяя защищённые ячейки???
Вопрос следующий. Есть сводная таблица с несколькими фильтрами. В одном из них директора регионов и их показатели. Можно как-то защитить фильтр, чтобы они не могли смотреть сводные данные других коллег, а могли фильтром выбрать только себя?
В любом другом случае гарантии никакой - защита в Excel слабоватая.
Во-первых, хочу поблагодарить за сайт, мастер-класс, PLEX и всё остальное!
Во-вторых, вопрос, который, возможно лучше открыть на форуме отдельной темой:
В защищенный лист с проверкой данных вставляют скопированные с других листов неверные данные.
"Проверка" их не обводит, сообщение об ошибке не выдаёт, всё потому что лист защищён (собственно, от того, чтобы эту проверку не убрали.
Как исключить ввод неверных данных копированием?
Заранее благодарю!
P. S. в инете искал ответ, не нашёл.
такая ситуация: 2 связаных excel таблица1 и таблица2. В таблица1 список контрагентов из нее в таблица2 этот список клиентов обновляется. Потом их из таблицы2 берут их идентификатор и дальше с ним работают в других базах данных. Пользователь может в таблица2 редактировать только один столбец, чтобы случайно не изменил данные контрагента. Лист заблокирован, но тогда не проходит обновление данных из связанной таблицы.
ВОПРОС: как настроить синхронихацию таблиц в данных условиях и если нужно это сделать макросом, то какому событию отвечает нажатие кнопки "Обновить все". Там есть метод WorkBook.RefreshAll, но перед ним нужно разблокировать лист а потом заблокировать снова.
Спасибо
Возникла такая же проблема при работе с умной таблицей.
При копировании ячеек в диапазон с проверкой данных, проверка данных перестаёт работать, так как вставляемая ячейка вставляется вместо ячейки, которая была с проверкой. Ситуация не улучшается, если копировать только значения.
На сайте support.office есть такой текст:
"Если проверка данных не работает, проверьте указанные ниже условия.
- Пользователи не копируют и не вставляют данные. Проверка данных предназначена для отображения сообщений и предотвращения ввода недопустимых данных только в том случае, если пользователь вводит данные непосредственно в ячейку. Если данные копируются или вставляются, сообщения не отображаются. Чтобы предотвратить копирование и заполнение данных путем перетаскивания ячеек, выберите Файл > Параметры >Дополнительно > Параметры редактирования, снимите флажок Разрешить маркеры заполнения и перетаскивание ячеек, а затем защитите лист."
1-й Вопрос: что имеется ввиду под "затем защитите лист"? Что именно защитить? Как быть, если ввод данных вручную необходимо сделать возможным, а копирование запретить.2-й Вопрос: как я понимаю из обсуждения выше в ленте также следует, что проверять copy / paste проверкой данных шансов нет, правильно?
После защиты листа при открытии книги после сохранения не возможно менять цвет шрифта в незащищённых ячейках.
Как защитить лист от того чтобы не видна было что на нём или запретить и вовсе вход на листе ?
Спасибо.
Написали непростую вещь, и все время обнаруживаем, что вышестоящий отдел переписывает автора и организацию на себя, и в таком виде отправляет наверх.
А можно ли защитить имя организации от изменений?
А вы напишите авторов прямо на листе в шапке таблицы и защитите лист паролем, нет?
Мне посоветовали написать макрос на сохранение, но гнев уже утих )
Возможно ли снять защиту с диапазона путем выделения столбцов? Необходимо, чтобы, например, в диапазоне столбцов А-Е столбцы добавлять было нельзя, после столбца Е - можно.
Попробовала выделить столбцы F-Z, сняла с них защиту, потом защитила лист. ИТОГ: столбцы не получается добавить никуда, ни в диапазон A-E, ни в диапазон F-Z? (с которого защита вроде бы снята).
Возможно ли сделать защиту от копирования всего файла, чтобы отправленный мной файл адресату, открывался и работал ,полностью, только у него и он не имел возможности передать его третьему лицу...за ранее всех откликнувшихся благодарю за помощь!
Подскажите, пожалуйста, возможно ли с помощью "защиты листа" защитить конкретный столбец умной таблицы, при том, что число строк в ней должно меняться?
Выше Вы сообщили, что можно макросом защитить определённые столбцы в умной таблице
Цитата: "К сожалению, умные таблицы с защитой не взаимодействуют. Т.е. надо заранее снимать флажок Защищаемая ячейка для пустых ячеек, куда умная таблица будет расширяться. И защитить столбец с формулами внутри умной таблицы не получится, к сожалению. Или писать макрос, который будет перед изменением таблицы снимать защиту листа, а потом ставить обратно."
Возможно настало время создать решение? Т.к. эта тема интересует многих и она актуальна. Большинство пользователей создают умные таблицы, в которых в определённых столбцах прописаны формулы, но т.к. этими таблицами могут пользоваться коллективно, то и хотелось бы иметь возможность отделить столбцы для ввода данный от столбцов производящих расчёты по ним. Ну и защитить их!
Доброго времени суток!
Подскажите пожалуйста, как исключить из макроса который перебирает все листы в в книге и ставит на них защиту, лист, который скрыт и не нуждается в защите?
Заранее благодарю за помощь в решении вопроса.
А как защитить страницу, но оставить возможность выделения отдельных столбцов (без возможности редактирования)
Пример
Sub
' снимает пароль с активного листа книги
ActiveSheet.Unprotect Password:="пароль который нужно снять"
' тут чето происходит после снятия пароля
'ставим пароль на активный лист книги
ActiveSheet.protect Password:="пароль под которым желаете запоролить книгу"
End sub
Есть 2 ячейки, обе заблокированные (с возможностью выделения заблокированных) но при нажатии на одну выскакивает предупреждение о том что ячейка заблокирована и сценарий на этом заканчивается, а при нажатии на вторую появляется окно с возможностью ввода пароля. Так вот, может подскажете как сделать чтоб было просто предупреждение и не предлогало ввести пароль? гугл тут фиг поможет) при вводе запроса выскакивает пара милионов как взломать пароль)))) и нужной информации нет). Пытался проанализировать обе ячейки но расхождений не нашел. Вариант без выделения заблокированных тоже не подходит, так как по таблице потом перемещатся не удобно. Решил проблему так ctrl+C ctrl+V из правильной ячейки в не правильную, потом работа (необходимая) над не правильной ячейкой и вуаля, работает как надо - - - Но это не вариант. Понял что надо копать гдето в форматах или особенностях, но повторюсь.... различий увы не нашел.
возможно мой вопрос уже задавался ранее, мне сложно оценить и понять - я еще только начинаю свое исследование Excel,
поэтому прошу подсказать:
можно ли сделать таким образом, чтобы только я и доверенные лица могли полноценно работать и вносить изменения в большой массив данных (применяя формулы, строя на их основании диаграммы), ...а любой другой человек, открыв данный файл - не мог бы видеть формул и иных хитростей, а лишь финальные значения...? вариант с разрешением для чтения по паролю не подходит. "Чужак" не должен и подумать, что файл "запаролен", он просто должен видеть финальные значения в ячейках...
Очень нужно...
Столкнулся впервые с ситуацией. Нужен совет.
У меня есть группа связанных формулами между собой файлов. Один из которых подтягивает с других пяти данные для статистики.
В пяти файлах мне необходимо поставить пароли для просмотра и работы для пользователей для каждого разный. Что я и сделал.
Но проблема в следующем: мой файл для сборки статистики (с формулами, которые тянут с этих пяти файлов данные) при открытии каждый раз запрашивает пароли для этих пяти и не обновляет данные пока не введешь все пароли защиты.
Помогите пожалуйста.
Выделяю строки или столбцы, скрываю их. Потом ставлю пароль на лист. Развернуть обратно без пароля и посмотреть данные нельзя.
Пробовал тоже самое сделать через Группировку, но там все равно можно разверуть группировку даже без знания пароля.
Я перепробовал разные комбинации аргументов, но так и не понял, как разрешить добавление данных макросом в data table на листе. Кто-нибудь сталкивался?
Можно? на один и тот же диапазон установить два разных пароля и при этом пользователь с первым паролем не мог удалять уже ранее введённые данные, которые ввел пользователь с вторым паролем ?
понадобилась сортировка колонки и защита от редактирования другим пользователем этой колонки. При любых приемах с защитой листа пользователю блочится доступ к сортировке, к простой сортировке. Либо нет защиты и работает сортировка либо есть защита от редактирования ячеек в этой колонке но блочится сортировка, есель пишет:
некоторые ячейки, которые вы пытаетесь изменить, защищены паролем, но ни один пароль не даст доступа ко всем ячейка сразу
офис 365.
как сюда добавить файл чтоб показать , пока не разобрался))
Приходилось ли настраивать или встречали может функцию для отслеживания внесенных изменений в таблицу? Авторизацию для нескольких человек можно настроить при работе с документом в Excel? Реально отследить кто, когда и в какую ячейку внес изменения?