跳到主要內容

如何在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

您可能感興趣的文章:

最佳辦公生產力工具

熱門特色: 尋找、突出顯示或識別重複項   |  刪除空白行   |  合併列或儲存格而不遺失數據   |   沒有公式的回合 ...
超級查詢: 多條件VLookup    多值VLookup  |   跨多個工作表的 VLookup   |   模糊查詢 ....
高級下拉列表: 快速建立下拉列表   |  依賴下拉列表   |  多選下拉列表 ....
欄目經理: 新增特定數量的列  |  移動列  |  切換隱藏列的可見性狀態  |  比較範圍和列 ...
特色功能: 網格焦點   |  設計圖   |   大方程式酒吧    工作簿和工作表管理器   |  資源庫 (自動文字)   |  日期選擇器   |  合併工作表   |  加密/解密單元格    按清單發送電子郵件   |  超級濾鏡   |   特殊過濾器 (過濾粗體/斜體/刪除線...)...
前 15 個工具集12 文本 工具 (添加文本, 刪除字符,...)   |   50+ 圖表 類型 (甘特圖,...)   |   40+ 實用 公式 (根據生日計算年齡,...)   |   19 插入 工具 (插入二維碼, 從路徑插入圖片,...)   |   12 轉化 工具 (數字到單詞, 貨幣兌換,...)   |   7 合併與拆分 工具 (高級合併行, 分裂細胞,...)   |   ... 和更多

使用 Kutools for Excel 增強您的 Excel 技能,體驗前所未有的效率。 Kutools for Excel 提供了 300 多種進階功能來提高生產力並節省時間。  點擊此處獲取您最需要的功能...

kte選項卡201905


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

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
Comments (2)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
what to do if i forgot the password for first method ?
This comment was minimized by the moderator on the site
Thanks - very useful. A couple of low-importance questions from me. 1. Why do you prefix your variables with the character "x"? I'm not quite seeing what benefit this provides. 2. What does the "Sft" in "xSft1" and "xSft2" stand for?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations