Làm cách nào để mã hóa / giải mã các ô đã chọn trong Excel?
Trong một số trường hợp, bạn có thể muốn mã hóa một số ô để ngăn các ô được người dùng khác xem, làm cách nào để bạn có thể thực hiện nhanh chóng? Bây giờ trong bài viết này, tôi giới thiệu các thủ thuật để nhanh chóng mã hóa và giải mã nội dung ô đã chọn trong Excel.
Mã hóa hoặc giải mã các ô đã chọn bằng VBA
Mã hóa hoặc giải mã các ô được chọn với Kutools cho Excel
Mã hóa hoặc giải mã các ô đã chọn bằng VBA
Đây là mã VBA có thể nhanh chóng mã hóa hoặc giải mã các ô đã chọn trong Excel.
1. nhấn Alt + F11 các phím để hiển thị Microsoft Visual Basic cho các ứng dụng cửa sổ.
2. nhấp chuột Chèn > Mô-đunvà dán mã VBA bên dưới vào mã mới Mô-đun cửa sổ.
VBA: Mã hóa hoặc giải mã các ô đã chọn.
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. Sau đó nhấn F5 để thực thi VBA và một hộp thoại bật ra để chọn các ô để mã hóa. Xem ảnh chụp màn hình:
4. Sau đó nhấn vào OK và nhập mật khẩu cho các ô được mã hóa trong một hộp thoại bật ra khác. Xem ảnh chụp màn hình:
5. nhấp chuột OKvà sau đó trong hộp thoại thứ ba, nhập 1 để mã hóa các ô đã chọn, nếu bạn muốn giải mã các ô, hãy nhập 2. Xem ảnh chụp màn hình:
6. nhấp chuột OKvà các ô đã chọn được mã hóa. Xem ảnh chụp màn hình:
Mã hóa hoặc giải mã các ô được chọn với Kutools cho Excel
Với phương pháp trên để mã hóa hoặc giải mã ô hơi phức tạp, nhưng nếu bạn có Kutools cho Excel đã cài đặt, bạn có thể sử dụng Mã hóa ô và Giải mã ô tiện ích để nhanh chóng hoàn thành công việc.
Sau cài đặt miễn phí Kutools cho Excel, vui lòng làm như sau:
1. Chọn các ô bạn muốn mã hóa và nhấp vào Kutools Plus > Mã hóa ô. Xem ảnh chụp màn hình:
2. Sau đó nhập và xác nhận mật khẩu trong Mã hóa ô và chọn một kiểu mã hóa trong Mask phần. Xem ảnh chụp màn hình:
3. nhấp chuột Ok or Đăng Nhậpvà bây giờ các ô đã chọn đã được mã hóa.
Nếu bạn cần giải mã các ô, hãy chọn chúng và nhấp vào Kutools Plus > Giải mãvà nhập mật khẩu để giải mã chúng. Xem ảnh chụp màn hình:
Mã hóa và giải mã các ô
Các bài viết bạn có thể quan tâm:
- Làm thế nào để lật ngược dữ liệu nhanh chóng trong Excel?
- Làm cách nào để tạo danh sách tất cả các kết hợp 4 chữ số có thể có trong Excel?
- Làm thế nào để tạo số ngẫu nhiên mà không có bản sao trong Excel?
- Làm cách nào để dán giá trị vào các ô hiển thị / đã lọc chỉ trong Excel?
Tôi là Nguyễn Văn Sỹ có 15 năm kinh nghiệm trong lĩnh vực thiết kế, thi công đồ nội thất; với niềm đam mê và yêu nghề tôi đã tạo ra những thiết kếtuyệt vời trong phòng khách, phòng bếp, phòng ngủ, sân vườn… Ngoài ra với khả năng nghiên cứu, tìm tòi học hỏi các kiến thức đời sống xã hội và sự kiện, tôi đã đưa ra những kiến thức bổ ích tại website nhaxinhplaza.vn. Hy vọng những kiến thức mà tôi chia sẻ này sẽ giúp ích cho bạn!