Когда мы пересылаем наши данные в 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?