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


安全地处理敏感数据至关重要,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 中加密或解密选定的单元格,以突出显示特定数据集。

更新于: 2023-08-23

5K+ 阅读量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.