如何在 Excel 中加密/解密选定单元格?

ms excelmicrosoft technologiesadvanced excel function更新于 2025/1/16 15:40:17

安全处理敏感数据至关重要,Excel 内置工具可让您使用密码保护电子表格中的单个单元格。您可以通过加密和解密特定单元格来保护敏感数据免遭未经授权的访问或意外更改。本文将逐步指导您完成加密和解密特定 Excel 单元格的过程。无论您需要保护的是银行记录、个人数据还是任何其他敏感数据,本手册都将为您提供维护信息安全的知识。

在开始之前,请确保您对 Microsoft Excel 的功能有基本的了解。如果您能够熟练使用 Excel 界面并处理单元格、行和列,这将对您有所帮助。请确保您的计算机上已安装 Microsoft Excel 并且支持加密功能。让我们开始学习如何加密和解密特定的 Excel 单元格吧!

加密/解密选定单元格

在这里,我们将首先创建一个 VBA 模块,然后运行它来选择单元格区域、输入密码,并加密或解密以完成任务。让我们通过一个简单的过程来了解如何在 Excel 中加密或解密选定的单元格。

步骤 1

假设有一个包含项目列表的 Excel 工作表。

首先,右键单击工作表名称,然后选择"查看代码"以打开 VBA 应用程序。

右键单击 >"查看代码"。

步骤 2

然后点击"插入",并选择"模块",然后将以下代码复制到文本框中。

插入 >"模块">复制。

代码

Private Function StrToPsd(ByVal Txt As String) As Long
   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:", "Encrypt Or Decrypt", xTxt, , , , , 8)
   Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
   If xRg Is Nothing Then Exit Sub
   xPsd = InputBox("Enter password:", " Encrypt Or Decrypt ")
   If xPsd = "" Then
      MsgBox "Password cannot be empty", , " Encrypt Or Decrypt "
      Exit Sub
   End If
   xRet = Application.InputBox("Type 1 to encrypt cell(s);Type 2 to decrypt cell(s)", " Encrypt Or Decrypt ", , , , , , 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 运行模块。选择要加密或解密的单元格范围,然后点击"确定"。

F5 > 选择单元格 > "确定"。

步骤 4

输入密码,然后点击"确定"。

密码 > 确定。

步骤 5

最后,选择加密或解密,然后点击"确定"。

选择"加密或解密">"确定"。

以上就是如何在 Excel 中加密或解密选定单元格的方法。

总结

在本教程中,我们通过一个简单的示例演示了如何在 Excel 中加密或解密选定单元格以突出显示特定的一组数据。


相关文章


有用资源