วิธีตั้งรหัสผ่านเพื่อป้องกันแผ่นงานแต่ละแผ่นโดยผู้ใช้ใน Excel
ใน Excel คุณสามารถตั้งรหัสผ่านที่แตกต่างกันสำหรับชีตต่างๆ ได้ ซึ่งหมายความว่าผู้ใช้รายหนึ่งสามารถเปลี่ยนแปลงเวิร์กชีตหนึ่งโดยใช้รหัสผ่านเดียว และอีกรายหนึ่งอาจใช้รหัสผ่านอื่นเพื่อเปลี่ยนแปลงเวิร์กชีตอื่น แต่บางครั้ง คุณเพียงแค่ต้องการให้ผู้ใช้แต่ละคนสามารถดูและเข้าถึงชีตของตนเองได้ สามารถแก้ไขได้ใน Excel หรือไม่?
เพื่อป้องกันแผ่นงานแต่ละแผ่นและจำกัดการเข้าถึงแผ่นงานโดยผู้ใช้ โปรดใช้รหัส VBA ด้านล่าง:
1. เปิดสมุดงานใหม่ และสร้างแผ่นงานใหม่ที่ชื่อว่า "หลัก" ดูภาพหน้าจอ:
2. จากนั้นกด Alt + F11 คีย์เพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน ดับเบิลคลิก สมุดงานนี้ จากด้านซ้าย โครงการ -VBAProject เพื่อเปิดโมดูลโค้ดเปล่า จากนั้นคัดลอกและวางโค้ด VBA ต่อไปนี้ลงในหน้าต่างโค้ด ดูภาพหน้าจอ:
รหัส VBA: ตั้งรหัสผ่านเพื่อป้องกันแผ่นงานแต่ละแผ่นโดยผู้ใช้
Option Explicit
Dim gUserName As String
Dim gUserPass As String
Private Sub Workbook_Open()
'Updateby ExtendOffice
Dim xWShs As Sheets
Dim xWSh As Worksheet
Dim xUserName As String
Dim xPass As String
Dim xBolH As Boolean
GTINPUT:
xUserName = InputBox("Enter the user name")
If TypeName(xUserName) = "String" Then
If xUserName = "" Then
Exit Sub
End If
End If
xUserName = LCase(xUserName)
xPass = InputBox("User name:" & xUserName & Chr(13) & Chr(10) & "Enter the password:")
If TypeName(xPass) = "String" Then
If xPass = "" Then
MsgBox "The password is incorrect, please enter the user name and password again."
GoTo GTINPUT
End If
Else
MsgBox "The password is incorrect, please enter the user name and password again."
GoTo GTINPUT
End If
Set xWShs = Worksheets
xBolH = False
For Each xWSh In Worksheets
If xWSh.Name = xUserName Then
xBolH = True
Exit For
End If
Next
If xBolH Then
Set xWSh = xWShs(xUserName)
On Error GoTo GTINPUT2
xWSh.Unprotect (xPass)
xWSh.Visible = True
xWSh.Activate
Else
Set xWSh = xWShs.Add
xWSh.Name = xUserName
xWSh.Activate
End If
gUserName = xUserName
gUserPass = xPass
Exit Sub
GTINPUT2:
MsgBox "The password is incorrect, please enter the user name and password again."
GoTo GTINPUT
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim xWSh As Worksheet
On Error Resume Next
Set xWSh = Worksheets(gUserName)
xWSh.Protect Password:=gUserPass, DrawingObjects:=False, Contents:=True, Scenarios:= _
False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows _
:=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _
AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, _
AllowUsingPivotTables:=True
For Each xWSh In Worksheets
If xWSh.Name <> "Main" Then
xWSh.Visible = xlSheetVeryHidden
End If
Next xWSh
ActiveWorkbook.Save
End Sub
3. จากนั้นวางเคอร์เซอร์ที่ส่วนท้ายของ สมุดงานย่อยส่วนตัว_Open() สคริปต์และกด F5 คีย์เพื่อเรียกใช้รหัสนี้ ตอนนี้ ในกล่องข้อความที่ปรากฏขึ้น ให้ป้อนชื่อผู้ใช้ที่คุณต้องการสร้างชีตสำหรับผู้ใช้รายนี้ ดูภาพหน้าจอ:
4. จากนั้นคลิก OK ในกล่องข้อความต่อไปนี้ ให้ป้อนรหัสผ่านเพื่อป้องกันแผ่นงานนี้ ดูภาพหน้าจอ:
5. ไปที่การคลิก OK และแผ่นงานใหม่ที่ตั้งชื่อด้วยชื่อผู้ใช้จะถูกสร้างขึ้นพร้อมกัน และคุณสามารถสร้างข้อมูลสำหรับผู้ใช้นั้นได้ตามต้องการ ดูภาพหน้าจอ:
6. ทำซ้ำขั้นตอนที่ 3 – ขั้นตอนที่ 5 ข้างต้นสำหรับการสร้างแผ่นงานอื่นทีละแผ่นที่คุณต้องการใช้
7. หลังจากสร้างแผ่นงานแล้ว ให้บันทึกเวิร์กบุ๊กปัจจุบันโดยคลิก เนื้อไม่มีมัน > บันทึกเป็น., ใน บันทึกเป็น กล่องโต้ตอบ ระบุชื่อไฟล์แล้วเลือก สมุดงานที่เปิดใช้งานแมโคร Excel (* .xlsm) รูปแบบจากไฟล์ บันทึกเป็นชนิด รายการแบบเลื่อนลงดูภาพหน้าจอ:
8. จากนั้นคลิกปุ่มบันทึกเพื่อบันทึกไฟล์นี้
9. จากนั้นปิดเวิร์กบุ๊กแล้วเปิดใหม่อีกครั้ง จากนั้นคลิก เปิดใช้งานเนื้อหา ที่ด้านบนของแถบสูตรเพื่อเปิดใช้งานรหัส ดูภาพหน้าจอ:
10. ตอนนี้กล่องข้อความจะปรากฏขึ้นเพื่อเตือนให้คุณป้อนชื่อผู้ใช้และรหัสผ่านเพื่อเปิดแผ่นงานเฉพาะโดยผู้ใช้บางคน
11. ในที่สุด เมื่อส่งเวิร์กบุ๊กนี้ไปยังผู้ใช้รายอื่น คุณควรส่งชื่อผู้ใช้และรหัสผ่านไปยังผู้ใช้ พวกเขาจะเปิดและแก้ไขแผ่นงานของตนเองเท่านั้น และไม่มีสิทธิ์ดูแผ่นงานอื่น
สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน
เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...
แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก
- เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
- เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
- เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!