كيف يمكن تعيين كلمات مرور لحماية أوراق العمل الفردية لكل مستخدم على حدة في 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 المُفعَّل بالماكرو (*.xlsm)» من القائمة المنسدلة «تحديد تنسيق الحفظ»، كما هو موضح في لقطة الشاشة:

8. ثم انقر على زر الحفظ لحفظ الملف.
9. بعد ذلك، أغلق المصنف ثم أعد فتحه، وانقر على «تمكين المحتوى» أعلى شريط الصيغة لتفعيل الكود.

10. الآن، سيظهر مربع إدخال منبثق لتذكيرك بإدخال اسم المستخدم وكلمة المرور المطلوبين لفتح الورقة المخصصة لمستخدم معين.
11. أخيرًا، عند إرسال هذا المصنف إلى مستخدمين آخرين، تأكد من تزويدهم باسم المستخدم وكلمة المرور الخاصة بهم، ليتمكنوا من فتح وتعديل أوراقهم فقط، دون القدرة على رؤية أوراق العمل الأخرى.
أفضل أدوات الإنتاجية لمكتبتك
عزِّز مهاراتك في Excel باستخدام Kutools لـ Excel، وعايش الكفاءة كما لم تفعل من قبل.يقدّم Kutools لـ Excel أكثر من 300 ميزة متقدمة لتعزيز الإنتاجية ووقت الحفظ.انقر هنا للحصول على الميزة التي تحتاجها أكثر من غيرها...
يجلب Office Tab واجهة ذات علامات تبويب إلى Office، ويجعل عملك أسهل بكثير
- تمكّن من التحرير والقراءة باستخدام علامات التبويب في Word وExcel وPowerPoint، وPublisher وAccess وVisio وProject.
- افتح وأنشئ مستندات متعددة في علامات تبويب جديدة داخل النافذة نفسها، بدلاً من فتح نوافذ جديدة.
- يزيد إنتاجيتك بنسبة 50% ويوفّر لك مئات نقرات الفأرة كل يوم!
جميع الإضافات من Kutools في برنامج تثبيت واحد!
Kutools for Office حزمةٌ تحتوي على إضافاتٍ مخصصة لتطبيقات Excel وWord وOutlook وPowerPoint، إلى جانب Office Tab Pro، مما يجعلها الخيار المثالي للفِرق التي تعمل عبر تطبيقات Office.
- حزمة شاملة واحدة— إضافات Excel وWord وOutlook وPowerPoint بالإضافة إلى Office Tab Pro
- برنامج تثبيت واحد، ترخيص واحد— الإعداد خلال دقائق (جاهز لـ MSI)
- يعمل بشكل أفضل معًا— إنتاجية ميسَّرة عبر تطبيقات Office
- تجربة مجانية لمدة 30 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
- أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل