Как зашифровать/расшифровать выбранные ячейки в Excel?
В некоторых случаях вы можете захотеть зашифровать некоторые ячейки, чтобы предотвратить их просмотр другими пользователями. Как это можно сделать быстро? В этой статье я расскажу о способах быстрого шифрования и расшифровки содержимого выбранных ячеек в Excel.
Шифрование или расшифровка выбранных ячеек с помощью VBA
Шифрование или расшифровка выбранных ячеек с помощью Kutools для Excel
Шифрование или расшифровка выбранных ячеек с помощью VBA
Вот код VBA, который может быстро зашифровать или расшифровать выбранные ячейки в Excel.
1. Нажмите клавиши Alt + F11, чтобы открыть окно Microsoft Visual Basic for Applications.
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. Затем нажмите OK и введите пароль для зашифрованных ячеек в другом появившемся диалоговом окне. См. скриншот:
5. Нажмите OK, а затем в третьем диалоговом окне введите 1 для шифрования выбранных ячеек, если вы хотите расшифровать ячейки, введите 2. См. скриншот:
6. Нажмите OK, и выбранные ячейки будут зашифрованы. См. скриншот:
Шифрование или расшифровка выбранных ячеек с помощью Kutools для Excel
Использование вышеописанного метода для шифрования или расшифровки ячеек немного сложное, но если у вас установлен Kutools для Excel, вы можете использовать инструменты Зашифровать ячейки и Расшифровать ячейки для быстрого выполнения задачи.
После бесплатной установки Kutools для Excel сделайте следующее:
1. Выберите ячейки, которые вы хотите зашифровать, и нажмите Kutools Plus > Зашифровать ячейки. См. скриншот:
2. Затем введите и подтвердите пароль в диалоговом окне Зашифровать ячейки и выберите тип шифрования в разделе Маска . См. скриншот:
3. Нажмите Ok или Применить, и теперь выбранные ячейки зашифрованы.
Если вам нужно расшифровать ячейки, выберите их и нажмите Kutools Plus > Расшифровать, и введите пароль для их расшифровки. См. скриншот:


Зашифровать и расшифровать ячейки
Статьи, которые могут вас заинтересовать:
- Как быстро перевернуть данные вверх дном в Excel?
- Как создать список всех возможных комбинаций из 4 цифр в Excel?
- Как создать случайные числа без повторений в Excel?
- Как вставить значения только в видимые/отфильтрованные ячейки в Excel?
Лучшие инструменты для повышения продуктивности в Office
Повысьте свои навыки работы в Excel с Kutools для Excel и ощутите новую эффективность. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Щелкните здесь, чтобы получить наиболее нужную вам функцию...
Office Tab добавляет вкладочный интерфейс в Office, делая вашу работу значительно проще
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна, а не в новых окнах.
- Увеличьте свою продуктивность на50% и сократите сотни кликов мышью ежедневно!