Когда мы пересылаем наши данные в Excel другим людям, нам может потребоваться защитить от изменений или редактирования данные на листах.
В этой статье мы разберем как защитить лист Excel от изменений и редактирования, а также как снять защиту.
Основы защиты данных в Excel
Защита листов в Excel не позволяет надежно ограничить доступ к данным в ваших файлах или листах. Связано это с тем, что в Excel применяется простой алгоритм кодирования пароля, который легко взломать. В старых версиях Excel (ранние версии, ниже чем Excel 2010) используется на столько простой алгоритм кодирования, что любой человек, разбирающийся в VBA может его взломать. В версиях Excel 2013 и 2016 используется более усовершенствованный алгоритм шифровки, но и к нему есть не сложные подходы для взлома.
Защита листов или файлов Excel больше всего нужна для ограничения нежелательных изменений и редактирования данных или формул. Я не рекомендую хранить и пересылать конфиденциальную информацию в таблицах Excel.
Для того чтобы максимально снизить риски нежелательных изменений в ваших файлах или листах, придерживайтесь следующих правил:
- Используйте последние версии Excel – 2013 или 2016;
- Используйте сложные пароли для защиты листов;
- Защищайте структуру файла от изменений, во избежание редактирования, удаления или переноса данных;
- Используйте разные пароли для открытия файла Excel и разрешения редактирования;
Как защитить лист Excel
Для защиты листа в Excel проделаем следующие шаги:
- Кликнем правой кнопкой мыши по вкладке с листом Excel внизу страницы и выберем пункт “Защитить лист…”. Или перейдем во вкладку “Рецензирование” на панели инструментов и нажмем кнопку “Защитить лист”:
- Во всплывающем окне “Защита листа”:
- В поле “Пароль для отключения защиты листа” введем пароль, который требуется ввести для снятия защиты. Запишите в надежное место ваш пароль.;
- Если вы не хотите защищать ваш лист паролем, а только лишь хотите предупредить пользователей о том, что редактировать данные на листе не приветствуется, то оставьте поле с паролем пустым;
- В разделе “Разрешить всем пользователем этого листа” зададим настройки тех действий, которые будут разрешены всем пользователям, не имеющим пароль. По умолчанию “галочками” отмечены пункты “Выделение заблокированных ячеек” и “Выделение не заблокированных ячеек”. Если оставить только эти пункты, то пользователи, не имеющие пароля, смогут только просматривать и выделять заблокированные и не заблокированные ячейки.
- Если вы хотите разрешить пользователям, не знающим пароль, такие действия как: форматирование ячеек, строк и столбцов, возможность вставить/удалить столбцы и строки, добавлять гиперссылки, сортировать данные, использовать автофильтры, строить сводные таблицы и графики, то отметьте эти пункты галочками:
- После того как мы нажмем кнопку “ОК”, система попросить нас снова ввести присвоенный к листу пароль.
- В поле “Пароль для отключения защиты листа” введем пароль, который требуется ввести для снятия защиты. Запишите в надежное место ваш пароль.;
Как снять защиту с листа Excel зная пароль
Если вы знаете пароль к листу то, снять защиту не составит труда.
Для этого:
- Кликните правой клавишей мыши на закладке листа Excel и выберите пункт “Снять защиту листа…” => во всплывающем окне введите пароль и нажмите кнопку “ОК”.
- Также, снять защиту с листа можно через вкладку “Рецензирование” на панели инструментов, кликнув по пункту “Снять защиту листа” => во всплывающем окне введите пароль и нажмите кнопку “ОК”.
Как снять защиту листа в Excel если забыл пароль
Как я писал выше, снять защиту с листа, если вы не знаете пароль, не самая сложная задача. Для того, чтобы снять защиту паролем с листа Excel воспользуйтесь способами описанными ниже.
Снять защиту листа Excel без пароля с помощью VBA кода (для Excel 2010 и ниже)
Если вы используйте версию Excel 2010 и ниже, то вы можете снять защиту листа без пароля с помощью макроса. Если вы используете версию Excel 2013 или 2016, то сохраните защищенный файл в формате xls (Книга Excel 97-2003). Затем проделайте следующие действия:
- Откройте файл и перейдите на лист с защищенным паролем листом. Важно чтобы лист был активным, для этого рекомендую кликнуть по любой ячейке на защищенном листе;
- Нажмите комбинацию клавиш Alt + F11, тем самым, вызвав меню Microsoft Visual Basic;
- В открывшемся окне найдите раздел “Project – VBAProject” => кликните правой клавишей мыши по пункту раздела (VBAProject (название файла.xls));
- В выпадающем меню выберите пункт “Insert” => “Module”;
- В открывшемся окне введите код:
Sub PasswordBreaker() 'Breaks worksheet password protection. Dim i As Integer, j As Integer, k As Integer Dim l As Integer, m As Integer, n As Integer Dim i1 As Integer, i2 As Integer, i3 As Integer Dim i4 As Integer, i5 As Integer, i6 As Integer On Error Resume Next For i = 65 To 66: For j = 65 To 66: For k = 65 To 66 For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66 For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66 For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126 ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _ Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _ Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) If ActiveSheet.ProtectContents = False Then MsgBox "Password is " & Chr(i) & Chr(j) & _ Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _ Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) Exit Sub End If Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next End Sub
- Нажмите клавишу F5 или кликните “Run” для запуска кода. Excel “зависнет” на 3-5 минут и после этого выдаст окно с паролем.
- Это не фактически существующий пароль, а тот что сгенерировала система. Кликните “ОК” – ваш лист разблокирован!
Если ваш файл содержит несколько защищенных листов – используйте этот макрос для каждого листа по отдельности.
Снять защиту с листа Excel с помощью копирования данных на другой лист
Еще одним способом снятия защиты с листа Excel является копирование содержимого защищенного листа на новый лист Excel. Для этого проделайте следующие действия:
- Откройте файл Excel с защищенным листом;
- Перейдите на защищенный лист и выделите левой клавишей мыши ячейку А1;
- Нажмите сочетание клавиш Shift + Ctrl + End для выделения всего содержимого на листе;
- Создайте новый лист в рабочей книге Excel (Ctrl + N);
- Левой клавишей мыши нажмите на ячейку А1 на новом листе;
- Нажмите сочетание клавиш Ctrl + V и вставьте скопированные данные.
Данный метод будет работать, при условии, что выделение заблокированных и не заблокированных ячеек будет разрешено автором файла.
А если после выбора “меню пункта “Insert” => “Module”;” открывается пустое окно без кода, как тогда можно сбросить пароль?
Могу скинуть такой файл)
А какая у вас версия Excel?