Computer >> Hướng Dẫn Máy Tính >  >> Phần Mềm >> Office

Xây dựng hàm Mã hóa (Encryption) trong Excel: Hướng dẫn từng bước

Khi làm việc trong Excel, đôi khi chúng ta muốn mã hóa dữ liệu cho mục đích bảo mật. Chúng ta có thể dễ dàng tạo hàm mã hóa (encrypt function) để mã hóa dữ liệu trong Excel. Ở đây, chúng ta sẽ trình bày quy trình từng bước để tạo hàm mã hóa trong Excel.

Tạo hàm Mã hóa trong Excel: Quy trình từng bước

Phần này trình bày quy trình từng bước tạo hàm mã hóa trong Excel. Một đoạn mã VBA đơn giản sẽ giải quyết vấn đề. Hãy làm theo các bước dưới đây.

BƯỚC 1: Chuẩn bị dữ liệu cho hàm Mã hóa

  • Trước tiên, tạo bộ dữ liệu trên trang tính. Để minh họa, chúng ta có bộ dữ liệu gồm Nhân viên bán hàng (Salesman), Lương (Salary), Bang/Thành phố (State) của một công ty. Chúng ta sẽ mã hóa dữ liệu cột Lương.

Xây dựng hàm Mã hóa (Encryption) trong Excel: Hướng dẫn từng bước

BƯỚC 2: Mở cửa sổ VBA trong Excel

  • Tiếp theo, vào thẻ Developer (Nhà phát triển) và chọn Visual Basic để mở cửa sổ VBA.
  • Hoặc bạn có thể nhấn Alt + F11 để mở nhanh.

Xây dựng hàm Mã hóa (Encryption) trong Excel: Hướng dẫn từng bước

BƯỚC 3: Nhập mã VBA vào Module cho hàm Mã hóa

  • Sau đó, chọn Insert (Chèn) > Module từ cửa sổ VBA.

Xây dựng hàm Mã hóa (Encryption) trong Excel: Hướng dẫn từng bước

  • Một cửa sổ Module hiện ra.
  • Viết mã sau vào đó:
Private Function iStrTPsd(ByVal Txt As String) As Long
    Dim xVl As Long, xCha As Long, xSf1 As Long, xSf2 As Long
    Dim J As Integer, xLn As Integer
    xLn = Len(Txt)
    For J = 1 To xLn
        xCha = Asc(Mid$(Txt, J, 1))
        xVl = xVl Xor (xCha * 2 ^ xSf1)
        xVl = xVl Xor (xCha * 2 ^ xSf2)
        xSf1 = (xSf1 + 7) Mod 19
        xSf2 = (xSf2 + 13) Mod 23
    Next J
    iStrTPsd = xVl
End Function

Private Function iEncryption(ByVal Pd As String, ByVal InTx As String, Optional ByVal Encc As Boolean = True) As String
    Dim xOfset As Long, xLn As Integer, J As Integer, xCha As Integer, xOutTx As String
    xOfset = iStrTPsd(Pd)
    Rnd -1
    Randomize xOfset
    xLn = Len(InTx)
    For J = 1 To xLn
        xCha = Asc(Mid$(InTx, J, 1))
        If xCha >= 32 And xCha <= 126 Then
            xCha = xCha - 32
            xOfset = Int((96) * Rnd)
            If Encc Then
                xCha = ((xCha + xOfset) Mod 95)
            Else
                xCha = ((xCha - xOfset) Mod 95)
                If xCha < 0 Then xCha = xCha + 95
            End If
            xCha = xCha + 32
            xOutTx = xOutTx & Chr$(xCha)
        End If
    Next J
    iEncryption = xOutTx
End Function

Sub xEncryption_Range()
    Dim xxRg As Range, xxPsd As String, xxTxt As String, xxEnc As Boolean
    Dim xxRet As Variant, xxCell As Range
    On Error Resume Next
    xxTxt = ActiveWindow.RangeSelection.Address
    Set xxRg = Application.InputBox("You need to select range:", "Excel Encryption", xxTxt, , , , , 8)
    Set xxRg = Application.Intersect(xxRg, xxRg.Worksheet.UsedRange)
    If xxRg Is Nothing Then Exit Sub
    xxPsd = InputBox("Type your password:", "Excel Encryption")
    If xxPsd = "" Then MsgBox "Your password can't be empty", , "Excel Encryption": Exit Sub
    xxRet = Application.InputBox("Insert 1 to encrypt cells or Insert 2 to decrypt cells", "Excel Encryption", , , , , , 1)
    If TypeName(xxRet) = "Boolean" Then Exit Sub
    If xxRet > 0 Then xxEnc = (xxRet Mod 2 = 1)
    For Each xxCell In xxRg
        If xxCell.Value <> "" Then xxCell.Value = iEncryption(xxPsd, xxCell.Value, xxEnc)
    Next
End Sub

Xây dựng hàm Mã hóa (Encryption) trong Excel: Hướng dẫn từng bước

BƯỚC 4: Chạy mã để Mã hóa dữ liệu

  • Tiếp theo, nhấn nút Run (Chạy) từ cửa sổ VBA.

Xây dựng hàm Mã hóa (Encryption) trong Excel: Hướng dẫn từng bước

  • Ngay lập tức, hộp thoại Macros xuất hiện. Nhấp vào nút Run.

Xây dựng hàm Mã hóa (Encryption) trong Excel: Hướng dẫn từng bước

  • Sau đó, hộp thoại Excel Encryption xuất hiện.
  • Chọn vùng ô cần mã hóa. Nhấn OK.

Xây dựng hàm Mã hóa (Encryption) trong Excel: Hướng dẫn từng bước

  • Hộp thoại khác hiện ra.
  • Nhập mật khẩu. Nhấn OK.

Xây dựng hàm Mã hóa (Encryption) trong Excel: Hướng dẫn từng bước

  • Hộp thoại thứ ba hiện ra.
  • Nhập 1 để mã hóa dữ liệu. Nhấn OK.

Xây dựng hàm Mã hóa (Encryption) trong Excel: Hướng dẫn từng bước

Kết quả cuối cùng

  • Quay lại trang tính, dữ liệu vùng đã chọn đã được mã hóa (hiển thị thành ký tự vô nghĩa).

Xây dựng hàm Mã hóa (Encryption) trong Excel: Hướng dẫn từng bước

  • Để giải mã (decrypt), chạy mã lại và làm theo các bước trước.
  • Chỉ khác: nhập 2 vào hộp thoại cuối cùng thay vì 1.
  • Quan trọng: Phải nhập cùng mật khẩu dùng khi mã hóa.

Xây dựng hàm Mã hóa (Encryption) trong Excel: Hướng dẫn từng bước

  • Dữ liệu mã hóa sẽ được giải mã trở về trạng thái ban đầu.

Xây dựng hàm Mã hóa (Encryption) trong Excel: Hướng dẫn từng bước

Đọc thêm: Cách mã hóa nội dung ô trong Excel

Cách Mã hóa tệp Excel bằng Mật khẩu (File Level)

Phần này trình bày quy trình bảo vệ tệp Excel bằng mật khẩu để mở tệp.

  • Vào thẻ File trên Ribbon Excel.

Xây dựng hàm Mã hóa (Encryption) trong Excel: Hướng dẫn từng bước

  • Chọn Save a Copy (Lưu bản sao) từ ngăn bên.

Xây dựng hàm Mã hóa (Encryption) trong Excel: Hướng dẫn từng bước

  • Chọn More options (Thêm tùy chọn) từ cửa sổ hiện ra.

Xây dựng hàm Mã hóa (Encryption) trong Excel: Hướng dẫn từng bước

  • Chọn Tools (Công cụ) > General Options (Tùy chọn chung) từ cửa sổ tiếp theo.

Xây dựng hàm Mã hóa (Encryption) trong Excel: Hướng dẫn từng bước

  • Nhập mật khẩu vào mục Password to open (Mật khẩu để mở) trong hộp thoại General Options. Nhấn OK.

Xây dựng hàm Mã hóa (Encryption) trong Excel: Hướng dẫn từng bước

  • Nhập lại mật khẩu trong hộp thoại Confirm Password (Xác nhận mật khẩu). Nhấn OK.

Xây dựng hàm Mã hóa (Encryption) trong Excel: Hướng dẫn từng bước

  • Lưu tệp.
  • Từ lần sau, bạn phải nhập mật khẩu để mở tệp Excel.

Xây dựng hàm Mã hóa (Encryption) trong Excel: Hướng dẫn từng bước

Đọc thêm: Cách giải mã tệp Excel không cần mật khẩu

Tải tệp thực hành

Bạn có thể tải tệp thực hành từ đây.

Kết luận

Trong bài viết này, chúng ta đã trình bày quy trình dễ dàng từng bước để mã hóa dữ liệu trong Excel. Nếu có thắc mắc hoặc góp ý, vui lòng để lại bình luận.

Các bài viết liên quan

  • Cách xóa mã hóa khỏi Excel
  • [Đã giải quyết!]: Không thể mở tệp Excel đã mã hóa

<< Quay lại: Encryption in Excel | Excel Protect | Learn Excel

Nhận miễn phí Bài tập Excel nâng cao có lời giải!