Note: The other languages of the website are Google-translated. Back to English

如何在Excel中加密/解密選定的單元格?

在某些情況下,您可能希望對某些單元進行加密以防止其他用戶查看該單元,那麼如何快速完成呢? 現在,在本文中,我將介紹在Excel中快速加密和解密選定單元格內容的技巧。

使用VBA加密或解密選定的單元格

使用Kutools for Excel加密或解密選擇的單元格 好主意3


使用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,並彈出一個對話框,用於選擇要加密的單元。 看截圖:
doc加密解密1

4。 然後點擊 OK 然後在另一個彈出的對話框中輸入加密單元的密碼。 看截圖:
doc加密解密2

5。 點擊 OK,然後在第三個對話框中,鍵入 1 加密選定的單元格,如果要解密單元格,請輸入 2。 看截圖:
doc加密解密3

6。 點擊 OK,並且所選單元格被加密。 看截圖:
doc加密解密4


使用Kutools for Excel加密或解密選擇的單元格

使用上述方法來加密或解密單元格有點複雜,但是如果您有 Excel的Kutools 安裝好後就可以使用 加密單元解密單元 實用程序來快速完成它。

Excel的Kutools, 與以上 300 方便的功能,使您的工作更加輕鬆。 

免費安裝 Kutools for Excel,請執行以下操作:

1.選擇要加密的單元,然後單擊 Kutools 加 > 加密單元。 看截圖:
doc加密解密5

2.然後輸入並確認密碼。 加密單元 對話框,然後在 面膜 部分。 看截圖:
doc加密解密6

3。 點擊 Ok or 登記,現在選定的單元格已加密。
doc加密解密7

如果需要解密單元,請選擇它們並單擊 Kutools 加 > 解碼,然後輸入密碼進行解密。 看截圖:

doc加密解密8  doc kutools加密單元格5

您可能感興趣的文章:


最佳辦公效率工具

Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過 300 項強大的功能. 支持 Office / Excel 2007-2021 和 365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能 30 天免費試用。 60 天退款保證。
kte選項卡201905

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
officetab底部
按評論排序
留言 (2)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
謝謝 - 非常有用。 我提出了幾個低重要性的問題。 1. 為什麼要在變量前面加上字符“x”? 我不太清楚這有什麼好處。 2、“xSft1”和“xSft2”中的“Sft”代表什麼?
網站主持人對此評論進行了最小化
如果我忘記了第一種方法的密碼怎麼辦?
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護