كيفية تعيين كلمات مرور لحماية أوراق العمل الفردية لمستخدمين مختلفين في Excel؟
في Excel، يمكنك تعيين كلمات مرور مختلفة لأوراق عمل مختلفة، مما يعني أن مستخدمًا واحدًا يمكنه إجراء تغييرات على ورقة عمل باستخدام كلمة مرور واحدة، بينما يمكن لآخر استخدام كلمة مرور مختلفة لإجراء تغييرات على ورقة عمل أخرى. ولكن في بعض الأحيان، قد ترغب فقط في أن يتمكن كل مستخدم من عرض ورقة عمله والوصول إليها فقط. هل يمكن حل هذه المشكلة في Excel؟
لحماية كل ورقة عمل على حدة وتحديد الوصول إلى الأوراق بواسطة المستخدمين، يرجى تطبيق كود VBA أدناه:
1. افتح مصنفًا جديدًا، وأنشئ ورقة جديدة باسم "Main"، انظر إلى لقطة الشاشة:
2. ثم اضغط على مفتاحي "Alt" + "F11" لفتح نافذة "Microsoft Visual Basic for Applications"، انقر نقرًا مزدوجًا على "ThisWorkbook" من الجزء الأيسر "Project-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. بعد ذلك، ضع المؤشر في نهاية البرنامج النصي "Private Sub Workbook_Open()" واضغط على مفتاح "F5" لتشغيل هذا الكود. الآن، في مربع الحوار المنبثق، أدخل اسم المستخدم الذي تريد إنشاء ورقة عمل لهذا المستخدم، انظر إلى لقطة الشاشة:
4. وبعد ذلك، انقر فوق زر "موافق"، وفي مربع الحوار التالي، أدخل كلمة مرور لحماية هذه الورقة، انظر إلى لقطة الشاشة:
5. استمر بالنقر فوق زر "موافق"، وسيتم إنشاء ورقة جديدة باسم المستخدم فورًا، ويمكنك إنشاء البيانات لذلك المستخدم حسب الحاجة. انظر إلى لقطة الشاشة:
6. كرر الخطوة 3 إلى الخطوة 5 لإنشاء الأوراق الأخرى التي تريد استخدامها واحدة تلو الأخرى.
7. بعد إنشاء الأوراق، احفظ المصنف الحالي عن طريق النقر على "ملف" > "حفظ كـ". في مربع الحوار "حفظ كـ"، حدد اسم ملف واختر تنسيق "Excel Macro-Enabled Workbook (*.xlsm)" من قائمة "تحديد تنسيق الحفظ"، انظر إلى لقطة الشاشة:
8. ثم انقر فوق زر "حفظ" لحفظ هذا الملف.
9. وبعد ذلك، أغلق المصنف وأعد فتحه، ثم انقر فوق "Enable Content" أعلى شريط الصيغة لتفعيل الكود.
10. الآن، سيظهر مربع منبثق لتذكيرك بإدخال اسم المستخدم وكلمة المرور لفتح الورقة الخاصة بهذا المستخدم.
11. وأخيرًا، عند إرسال هذا المصنف إلى مستخدمين آخرين، يجب عليك إرسال اسم المستخدم وكلمة المرور للمستخدم. لن يتمكنوا من فتح وتحرير أوراقهم الخاصة فقط، ولن يكون لديهم إذن لرؤية أوراق العمل الأخرى.
أفضل أدوات الإنتاجية لمكتب العمل
عزز مهاراتك في Excel مع Kutools لـ Excel، واختبر الكفاءة كما لم يحدث من قبل. Kutools لـ Excel يقدم أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
Office Tab يقدم واجهة التبويب لـ Office، ويجعل عملك أسهل بكثير
- تمكين تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint.
- افتح وأنشئ عدة مستندات في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ منفصلة.
- يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات بالماوس يومياً!