Как зашифровать или расшифровать выделенные ячейки в Excel?
Иногда возникает необходимость зашифровать определённые ячейки, чтобы другие пользователи не могли просматривать их содержимое. Как это сделать быстро? В этой статье описаны простые и эффективные способы мгновенного шифрования и расшифровки содержимого выделенных ячеек в Excel.
Шифрование или расшифровка выделенных ячеек с помощью VBA
Шифрование или расшифровка выделенных ячеек с помощью Kutools для Excel ![]()
Шифрование или расшифровка выделенных ячеек с помощью VBA
Ниже приведён код VBA, который позволяет мгновенно зашифровать или расшифровать выделенные ячейки в Excel.
1. Нажмите клавиши Alt + F11, чтобы открыть окно Microsoft Visual Basic для приложений.
2. Выберите пункт Вставка > Модуль и вставьте приведённый ниже код VBA в новое окно Модуля.
VBA: зашифруйте или расшифруйте выделенные ячейки.
Private Function StrToPsd(ByVal Txt As String) As Long
'UpdatebyKutoolsforExcel20151225
Dim xVal As Long
Dim xCh As Long
Dim xSft1 As Long
Dim xSft2 As Long
Dim I As Integer
Dim xLen As Integer
xLen = Len(Txt)
For I = 1 To xLen
xCh = Asc(Mid$(Txt, I, 1))
xVal = xVal Xor (xCh * 2 ^ xSft1)
xVal = xVal Xor (xCh * 2 ^ xSft2)
xSft1 = (xSft1 + 7) Mod 19
xSft2 = (xSft2 + 13) Mod 23
Next I
StrToPsd = xVal
End Function
Private Function Encryption(ByVal Psd As String, ByVal InTxt As String, Optional ByVal Enc As Boolean = True) As String
Dim xOffset As Long
Dim xLen As Integer
Dim I As Integer
Dim xCh As Integer
Dim xOutTxt As String
xOffset = StrToPsd(Psd)
Rnd -1
Randomize xOffset
xLen = Len(InTxt)
For I = 1 To xLen
xCh = Asc(Mid$(InTxt, I, 1))
If xCh >= 32 And xCh <= 126 Then
xCh = xCh - 32
xOffset = Int((96) * Rnd)
If Enc Then
xCh = ((xCh + xOffset) Mod 95)
Else
xCh = ((xCh - xOffset) Mod 95)
If xCh < 0 Then xCh = xCh + 95
End If
xCh = xCh + 32
xOutTxt = xOutTxt & Chr$(xCh)
End If
Next I
Encryption = xOutTxt
End Function
Sub EncryptionRange()
Dim xRg As Range
Dim xPsd As String
Dim xTxt As String
Dim xEnc As Boolean
Dim xRet As Variant
Dim xCell As Range
On Error Resume Next
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select a range:", "Kutools for Excel", xTxt, , , , , 8)
Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
If xRg Is Nothing Then Exit Sub
xPsd = InputBox("Enter password:", "Kutools for Excel")
If xPsd = "" Then
MsgBox "Password cannot be empty", , "Kutools for Excel"
Exit Sub
End If
xRet = Application.InputBox("Type 1 to encrypt cell(s);Type 2 to decrypt cell(s)", "Kutools for Excel", , , , , , 1)
If TypeName(xRet) = "Boolean" Then Exit Sub
If xRet > 0 Then
xEnc = (xRet Mod 2 = 1)
For Each xCell In xRg
If xCell.Value <> "" Then
xCell.Value = Encryption(xPsd, xCell.Value, xEnc)
End If
Next
End If
End Sub 3. Затем нажмите клавишу F5, чтобы запустить выполнение кода VBA. Появится диалоговое окно для выбора ячеек, которые нужно зашифровать. См. снимок экрана:
4. Далее нажмите кнопку ОК и введите пароль для шифрования ячеек в появившемся диалоговом окне. См. снимок экрана:
5. Нажмите кнопку ОК, после чего в третьем диалоговом окне введите 1, чтобы зашифровать выделенные ячейки. Если вы хотите расшифровать ячейки, введите 2. См. снимок экрана:
6. Нажмите кнопку ОК, и выбранные ячейки будут зашифрованы. См. снимок экрана:
Шифрование или расшифровка выделенных ячеек с помощью Kutools для Excel
Описанный выше способ шифрования или расшифровки ячеек довольно сложен, но если у вас установлен Kutools для Excel, вы можете воспользоваться утилитами Зашифровать ячейки и Расшифровать ячейки, чтобы быстро справиться с этой задачей.
После бесплатной установкиKutools для Excel выполните следующие действия:
1. Выделите ячейки, которые нужно зашифровать, и нажмите KUTOOLS PLUS > Зашифровать ячейки. См. снимок экрана:
2. Затем введите и подтвердите пароль в диалоговом окне Зашифровать ячейки, а также выберите тип шифрования в разделе Маска. См. снимок экрана:
3. Нажмите кнопку Ок или Применить, и выбранные ячейки будут зашифрованы.
Чтобы расшифровать ячейки, выделите их и нажмите KUTOOLS PLUS > Расшифровать, после чего введите пароль для расшифровки. См. снимок экрана:

Зашифровать и Расшифровать ячейки
Статьи, которые могут вас заинтересовать:
- Как быстро перевернуть данные в Excel вверх ногами?
- Как сгенерировать в Excel список всех возможных комбинаций из 4 цифр?
- Как сгенерировать случайные числа без повторений в Excel?
- Как вставить значения только в видимые (отфильтрованные) ячейки в Excel?
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…
Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
- Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!
Все надстройки Kutools — один установщик
Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек