بسم الله الرحمن الرحيم
اليوم هنعرف ازاي نعمل صلاحيات للوصول لشيتات معينه داخل ملف الاكسيل
بعد ما راجعنا الدرس السابق نبدأ من حيث انتهينا
الأساسيات
الشاشة الرئيسية
الصفحات الأخرى
وأخيرا صفحة معلومات الدخول والصلاحيات
ودي أسماء الصفحات داخل الشيتات وبرمجيا
نقوم بتصميم نفس الصفحات السابقة
أظن سهلة العملية لحد دلوقتي
حان دور الاكواد
نبدأ بالاكواد السهلة
في كل صفحة غير الرئيسية بها زر رجوع نضع الاكواد كالاتي
صفحة ادخال البيانات في زر الرجوع
Sub yasser1()index.Activatesheet1.Visible = xlSheetVeryHiddenEnd Sub
السطر الاول للرجوع للصفحة الرئيسية
السطر الثاني لاخفاء صفحة ادخال البيانات وهي شيت1
وتكرر في الصفحات المتبقية
صفحة الاستعلام
Sub yasser2()index.Activatesheet2.Visible = xlSheetVeryHiddenEnd Sub
صفحة قاعدة البيانات
Sub yasser3()index.Activatesheet3.Visible = xlSheetVeryHiddenEnd Sub
صفحة المستخدمون users
Sub mohamed1()index.Selectusers.Visible = xlSheetVeryHiddenEnd Sub
وقبل ان نترك صفحة اليوزرز
نضع هذه المعادلات
=IF(J2="";"";VLOOKUP(J2;A2:E8;3;FALSE))
=IF(J2="";"";VLOOKUP(J2;A2:E8;4;FALSE))
=IF(J2="";"";VLOOKUP(J2;A2:E8;5;FALSE))
هذه الدوال تجلب بيانات المستخدم من جدول المستخدمين ومنها نقوم بالتحكم في صلاحياته
الآن حان دور الصفحة الرئيسية
نضع في اول زر وهو زر ادخال البيانات الكود التالي
Sub aseel1()If users.Range("k2") = "yes" ThenApplication.ScreenUpdating = Falsesheet1.Visible = xlSheetVisiblesheet1.SelectElseMsgBox "انت لا تمتلك الصلاحية لدخول هذه الصفحة ", vbCritical, "elmalak_elhazen_yasser@yahoo.com"
Application.ScreenUpdating = TrueEnd IfEnd Sub
زر الصفحة الثانية صفحة الاستعلام
Sub aseel2()If users.Range("L2") = "yes" ThenApplication.ScreenUpdating = Falsesheet2.Visible = xlSheetVisiblesheet2.SelectElseMsgBox "انت لا تمتلك الصلاحية لدخول هذه الصفحة ", vbCritical, "elmalak_elhazen_yasser@yahoo.com"
Application.ScreenUpdating = TrueEnd IfEnd Sub
زر الصفحة الثالثة صفحة قاعدة البيانات
Sub aseel3()
If users.Range("m2") = "yes" Then
Application.ScreenUpdating = False
sheet3.Visible = xlSheetVisible
sheet3.Select
Else
MsgBox "انت لا تمتلك الصلاحية لدخول هذه الصفحة ", vbCritical, "elmalak_elhazen_yasser@yahoo.com"
Application.ScreenUpdating = True
End If
End Sub
زر الصفحة الرابعة صفحة صلاحيات اليوزرز
وهنا سنغير الكود سنعطى لهذه الصفحة كلمة مرور خاصة غير باقي الصفحات
Sub mohamed()Dim x x = InputBox("يرجى ادخال كلمة المرور.", "Password Required") If x = "123" Thenusers.Visible = xlSheetVisibleusers.Select Else MsgBox "كلمة المرور خطأ يرجى اعداة المحاولة"
End IfEnd Sub
اكواد الصفحات تعتمد علي
اول سطر يقوم بمقارنة الخلية الخاصة بالصفحة اذا كانت بها كلمة yes
فيسمح بالدخول اما غير ذلك لا يمكن الدخول
والجزء الثان من الكود يقوم باظهار الصفحة عند تحقق الشرط والذهاب اليها
ينقصنا سطر صغير لاتمام الموضوع
نسخ اسم المستخدم عند الدخول الى الخلية المحددة ليتم جلب بيانته عن طريق اسمه
وتتم كالاتي
يتم وضع الكود في حدث زر الدخول
users.Range("j2") = ComboBox1.Value
وبكدا يكون انتهى الدرس
لتحميل مثال اضغط هنا
لتحميل مثال اضغط هنا
تقبلوا تحياتي
ياسر العربياعادة نشر
مرفق الملف
ومرفق اخر معدل ليسع اكبر قدر من الشيتات
منقول للأمانة
شكرا للأخ ياسر
Aucun commentaire:
Enregistrer un commentaire