ขณะทำงานใน Excel บางครั้งต้องการเข้ารหัส (Encrypt) ข้อมูลเพื่อความปลอดภัย สามารถสร้างฟังก์ชันเข้ารหัสได้ง่ายๆ นี่คือขั้นตอนสร้าง Encryption Function ใน Excel
สร้าง Encryption Function ใน Excel: ขั้นตอนทีละขั้น
จะสาธิตขั้นตอนสร้างฟังก์ชันเข้ารหัส ใช้โค้ด VBA สั้นๆ ทำตามขั้นตอนด้านล่าง
ขั้นตอนที่ 1: เตรียมข้อมูลสำหรับฟังก์ชันเข้ารหัส
- สร้างชุดข้อมูลในชีท ตัวอย่าง: Salesman, Salary, State จะเข้ารหัสคอลัมน์ Salary

ขั้นตอนที่ 2: เปิดหน้าต่าง VBA ใน Excel
- ไปที่แท็บ Developer คลิก Visual Basic
- หรือกด Alt + F11

ขั้นตอนที่ 3: เขียนโค้ดใน VBA Module สำหรับฟังก์ชันเข้ารหัส
- ในหน้าต่าง VBA เลือก Insert > Module

- หน้าต่าง Module จะเปิด วางโค้ดต่อไปนี้:
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 xOffset
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) = "xBoolean" 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)
End If
Next
End Sub

ขั้นตอนที่ 4: รันโค้ดเพื่อเข้ารหัสข้อมูล
- กดปุ่ม Run ในหน้าต่าง VBA

- กล่อง Macros จะขึ้น คลิก Run

- กล่อง Excel Encryption ขึ้น: เลือกช่วงเซลล์ที่ต้องการเข้ารหัส คลิก OK

- กล่องถัดไป: ใส่รหัสผ่าน คลิก OK

- กล่องต่อไป: ใส่ 1 สำหรับเข้ารหัส คลิก OK

ผลลัพธ์สุดท้าย
- กลับไปที่ชีท จะเห็นข้อมูลในช่วงที่เลือกถูกเข้ารหัสแล้ว

- ถอยรหัส (Decrypt): รันโค้ดอีกครั้ง ทำตามขั้นตอนเดิม
- ในกล่องสุดท้าย ใส่ 2 แทน 1
- ใส่รหัสผ่านเดียวกับตอนเข้ารหัส

- ข้อมูลที่เข้ารหัสจะถูกถอดรหัสกลับคืนมา

อ่านเพิ่มเติม: วิธีเข้ารหัสเนื้อหาเซลล์ใน Excel
วิธีเข้ารหัสไฟล์ Excel ด้วยรหัสผ่าน
ส่วนนี้จะสอนป้องกันไฟล์ Excel ด้วยรหัสผ่านเพื่อเปิดไฟล์
- ไปที่แท็บ File จาก Ribbon

- เลือก Save a Copy

- เลือก More options

- เลือก Tools > General Options

- ใส่รหัสใน Password to open คลิก OK

- ยืนยันรหัสใน Confirm Password คลิก OK

- บันทึกไฟล์
- ครั้งต่อไป ต้องใส่รหัสผ่านถึงจะเปิดไฟล์ได้

อ่านเพิ่มเติม: วิธีถอดรหัสไฟล์ Excel โดยไม่มีรหัสผ่าน
ดาวน์โหลดสมุดงานฝึกหัด
ดาวน์โหลดไฟล์ฝึกหัดได้ที่นี่
สรุป
บทความนี้แสดงขั้นตอนง่ายๆ เข้ารหัสข้อมูลใน Excel หากมีคำถามหรือข้อเสนอแนะ กรุณาแสดงความคิดเห็น
บทความเกี่ยวข้อง
- วิธลบการเข้ารหัสจาก Excel
- [Solved!]: Cannot Open Encrypted Excel File
<< กลับไปยัง Encryption in Excel | Excel Protect | Learn Excel
รับแบบฝึกหัด Excel ขั้นสูงพร้อมเฉลยฟรี!