ไปยังเนื้อหาหลัก

วิธีตั้งรหัสผ่านเพื่อป้องกันแผ่นงานแต่ละแผ่นโดยผู้ใช้ใน Excel

ผู้เขียน: Xiaoyang แก้ไขล่าสุด: 2024-12-05

ใน Excel คุณสามารถตั้งรหัสผ่านที่แตกต่างกันสำหรับชีตต่างๆ ได้ ซึ่งหมายความว่าผู้ใช้รายหนึ่งสามารถเปลี่ยนแปลงเวิร์กชีตหนึ่งโดยใช้รหัสผ่านเดียว และอีกรายหนึ่งอาจใช้รหัสผ่านอื่นเพื่อเปลี่ยนแปลงเวิร์กชีตอื่น แต่บางครั้ง คุณเพียงแค่ต้องการให้ผู้ใช้แต่ละคนสามารถดูและเข้าถึงชีตของตนเองได้ สามารถแก้ไขได้ใน Excel หรือไม่?


เพื่อป้องกันแผ่นงานแต่ละแผ่นและจำกัดการเข้าถึงแผ่นงานโดยผู้ใช้ โปรดใช้รหัส VBA ด้านล่าง:

1. เปิดสมุดงานใหม่ และสร้างแผ่นงานใหม่ที่ชื่อว่า "หลัก" ดูภาพหน้าจอ:

ภาพหน้าจอของแผ่นงานหลักใน Excel ที่สร้างแผ่นงานแรก

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

ภาพหน้าจอของหน้าต่าง Visual Basic สำหรับแอปพลิเคชันพร้อมรหัส VBA เพื่อตั้งรหัสผ่านสำหรับชีตแต่ละชีต

3. จากนั้นวางเคอร์เซอร์ที่ส่วนท้ายของ สมุดงานย่อยส่วนตัว_Open() สคริปต์และกด F5 คีย์เพื่อเรียกใช้รหัสนี้ ตอนนี้ ในกล่องข้อความที่ปรากฏขึ้น ให้ป้อนชื่อผู้ใช้ที่คุณต้องการสร้างชีตสำหรับผู้ใช้รายนี้ ดูภาพหน้าจอ:

ภาพหน้าจอของกล่องพร้อมท์ที่ขอชื่อผู้ใช้เพื่อสร้างชีตใหม่ใน Excel

4. จากนั้นคลิก OK ในกล่องข้อความต่อไปนี้ ให้ป้อนรหัสผ่านเพื่อป้องกันแผ่นงานนี้ ดูภาพหน้าจอ:

ภาพหน้าจอของกล่องพร้อมท์ที่ขอรหัสผ่านเพื่อป้องกันแผ่นงานที่เพิ่งสร้างใหม่ใน Excel

5. ไปที่การคลิก OK และแผ่นงานใหม่ที่ตั้งชื่อด้วยชื่อผู้ใช้จะถูกสร้างขึ้นพร้อมกัน และคุณสามารถสร้างข้อมูลสำหรับผู้ใช้นั้นได้ตามต้องการ ดูภาพหน้าจอ:

ภาพหน้าจอของแผ่นงานที่เพิ่งสร้างใหม่ซึ่งตั้งชื่อตามผู้ใช้ใน Excel

6. ทำซ้ำขั้นตอนที่ 3 – ขั้นตอนที่ 5 ข้างต้นสำหรับการสร้างแผ่นงานอื่นทีละแผ่นที่คุณต้องการใช้

7. หลังจากสร้างแผ่นงานแล้ว ให้บันทึกเวิร์กบุ๊กปัจจุบันโดยคลิก เนื้อไม่มีมัน > บันทึกเป็น., ใน บันทึกเป็น กล่องโต้ตอบ ระบุชื่อไฟล์แล้วเลือก สมุดงานที่เปิดใช้งานแมโคร Excel (* .xlsm) รูปแบบจากไฟล์ บันทึกเป็นชนิด รายการแบบเลื่อนลงดูภาพหน้าจอ:

ภาพหน้าจอของกล่องโต้ตอบบันทึกเป็นใน Excel ซึ่งแสดงรายการดรอปดาวน์บันทึกเป็นชนิดสำหรับเวิร์กบุ๊ก Excel ที่เปิดใช้งานแมโคร (*.xlsm)

8. จากนั้นคลิกปุ่มบันทึกเพื่อบันทึกไฟล์นี้

9. จากนั้นปิดเวิร์กบุ๊กแล้วเปิดใหม่อีกครั้ง จากนั้นคลิก เปิดใช้งานเนื้อหา ที่ด้านบนของแถบสูตรเพื่อเปิดใช้งานรหัส ดูภาพหน้าจอ:

ภาพหน้าจอของปุ่มเปิดใช้งานเนื้อหาใน Excel เพื่อเปิดใช้งานโค้ด VBA

10. ตอนนี้กล่องข้อความจะปรากฏขึ้นเพื่อเตือนให้คุณป้อนชื่อผู้ใช้และรหัสผ่านเพื่อเปิดแผ่นงานเฉพาะโดยผู้ใช้บางคน

11. ในที่สุด เมื่อส่งเวิร์กบุ๊กนี้ไปยังผู้ใช้รายอื่น คุณควรส่งชื่อผู้ใช้และรหัสผ่านไปยังผู้ใช้ พวกเขาจะเปิดและแก้ไขแผ่นงานของตนเองเท่านั้น และไม่มีสิทธิ์ดูแผ่นงานอื่น

สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน

🤖 Kutools AI ผู้ช่วย: ปฏิวัติการวิเคราะห์ข้อมูลโดยยึดตาม: การดำเนินการที่ชาญฉลาด   |  สร้างรหัส  |  สร้างสูตรที่กำหนดเอง  |  วิเคราะห์ข้อมูลและสร้างแผนภูมิ  |  เรียกใช้ฟังก์ชัน Kutools...
คุณสมบัติยอดนิยม: ค้นหา เน้น หรือระบุรายการที่ซ้ำกัน   |  ลบแถวว่าง   |  รวมคอลัมน์หรือเซลล์โดยไม่สูญเสียข้อมูล   |   รอบโดยไม่มีสูตร ...
การค้นหาขั้นสูง: VLookup หลายเกณฑ์    VLookup หลายค่า  |   VLookup ข้ามหลายแผ่น   |   การค้นหาที่ไม่ชัดเจน ....
รายการแบบเลื่อนลงขั้นสูง: สร้างรายการแบบหล่นลงอย่างรวดเร็ว   |  รายการแบบหล่นลงขึ้นอยู่กับ   |  เลือกหลายรายการแบบหล่นลง ....
ผู้จัดการคอลัมน์: เพิ่มจำนวนคอลัมน์เฉพาะ  |  ย้ายคอลัมน์  |  สลับสถานะการมองเห็นของคอลัมน์ที่ซ่อนอยู่  |  เปรียบเทียบช่วงและคอลัมน์ ...
คุณสมบัติเด่น: กริดโฟกัส   |  มุมมองการออกแบบ   |   บาร์สูตรใหญ่    สมุดงานและตัวจัดการชีต   |  ห้องสมุดทรัพยากร (ข้อความอัตโนมัติ)   |  เลือกวันที่   |  รวมแผ่นงาน   |  เข้ารหัส/ถอดรหัสเซลล์    ส่งอีเมลตามรายการ   |  ซุปเปอร์ฟิลเตอร์   |   ตัวกรองพิเศษ (กรองตัวหนา/ตัวเอียง/ขีดทับ...) ...
ชุดเครื่องมือ 15 อันดับแรก12 ข้อความ เครื่องมือ (เพิ่มข้อความ, ลบอักขระ, ... )   |   50 + แผนภูมิ ประเภท (แผนภูมิ Gantt, ... )   |   40+ ใช้งานได้จริง สูตร (คำนวณอายุตามวันเกิด, ... )   |   19 การแทรก เครื่องมือ (ใส่ QR Code, แทรกรูปภาพจากเส้นทาง, ... )   |   12 การแปลง เครื่องมือ (ตัวเลขเป็นคำ, การแปลงสกุลเงิน, ... )   |   7 ผสานและแยก เครื่องมือ (แถวรวมขั้นสูง, แยกเซลล์, ... )   |   ... และอื่น ๆ

เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา  คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...


แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!