تسجيل الدخول إلى VBA | كيفية إنشاء نموذج تسجيل الدخول في Excel VBA؟
نموذج تسجيل الدخول لبرنامج Excel VBA
من الممكن إنشاء نموذج مستخدم قائم على تسجيل الدخول في Excel VBA مع كل القائمة المنسدلة لمعرف تسجيل الدخول وستتم مشاركة كلمة المرور بشكل منفصل. في وقت ما ، يجب أن تكون لديك فكرة عن إنشاء نموذج مستخدم لتسجيل الدخول يعتمد على كلمة المرور والذي يتطلب من المستخدم اختيار معرف المستخدم الخاص به وإدخال كلمة المرور للوصول إلى ورقة العمل المطلوبة.
في هذه المقالة ، سنوضح لك كيفية إنشاء نموذج مستخدم لتسجيل الدخول باستخدام برنامج Excel VBA.
كيفية إنشاء نموذج مستخدم لتسجيل الدخول؟
على سبيل المثال ، افترض أن لديك أرقام مبيعات حسب المنطقة في أوراق عمل مختلفة. لدينا 4 أسماء مناطق مختلفة وكل ورقة عمل منطقة لها البيانات ذات الصلة فقط. الفكرة الآن هي إنشاء نموذج تسجيل دخول حيث يجب أن يرى رئيس مبيعات المنطقة "الشرقية" فقط بيانات المنطقة "الشرقية" ، وليس أي مناطق أخرى ولكن كمسؤول ، يجب أن تشاهد جميع أوراق عمل المناطق.
يمكنك تنزيل قالب Excel لتسجيل الدخول إلى VBA هنا - قالب Excel لتسجيل الدخول إلى VBAأولاً ، نحتاج إلى إدخال اسم ورقة يسمى "Admin". في ورقة الإدارة هذه ، نحتاج إلى إنشاء بيانات اعتماد "معرف تسجيل الدخول" و "كلمة المرور".
لقد قمت بتسمية المنطقة وكلمة المرور بنفس الطريقة التي يمكنك تغييرها لاحقًا. بالنسبة لأسماء المناطق ، قمت بإنشاء نطاق الاسم باسم "ZoneList". سيتم استخدام "مدير الاسم" هذا لاحقًا في نموذج مستخدم تسجيل الدخول هذا.
عندما يفتح المستخدم الملف يجب أن يرى ورقة وهمية واحدة في الخلفية ، لذلك قم بإنشاء ورقة جديدة وقم بتسميتها باسم "ورقة وهمية".
باستخدام أوراق العمل هذه ، سننشئ نموذج مستخدم لتسجيل الدخول.
الخطوة 1: أدخل نموذج المستخدم
اضغط على مفتاح ALT + F11 لفتح نافذة محرر VBA.
- من علامة التبويب "إدراج" ، أدخل "نموذج المستخدم".
- سيؤدي هذا إلى إنشاء نموذج مستخدم جديد مثل النموذج أدناه.
- اضغط على المفتاح F4 لرؤية نافذة الخصائص ، من نافذة الخصائص هذه قم بتغيير اسم نموذج المستخدم إلى "LoginUF"
- وبالمثل ، باستخدام نافذة الخصائص هذه ، يمكننا اللعب بخصائص نموذج المستخدم. لقد أجريت بعض تغييرات الخاصية ، يمكنك الرجوع إلى نافذة الخصائص أدناه لتطبيق التغييرات على خصائص نموذج المستخدم.
- الآن شكل المستخدم الخاص بي يبدو مثل هذا.
الخطوة 2: تصميم Userform
- من مربع أدوات نموذج المستخدم ، أدخل مربعي تسمية وأدخل النص كما هو موضح أدناه.
- من صندوق الأدوات ، أدخل "Combo Box".
- بالنسبة لمربع التحرير والسرد هذا ، نحتاج إلى الحصول على أسماء المناطق من ورقة العمل "Admin Sheet" ، لذلك من نافذة الخصائص في "Combo Box" ، أعط أولاً اسمًا لمربع التحرير والسرد هذا باسم "Zone_List_ComboBox" تحت خاصية "الاسم".
- من خاصية "مصدر الصف" في مربع التحرير والسرد ، أدخل الاسم المحدد لقائمة المنطقة في "صحيفة المسؤول".
- الآن يجب أن يعرض مربع التحرير والسرد الخاص بنا أسماء المناطق في القائمة المنسدلة في Excel.
- بالنسبة إلى "أدخل كلمة المرور" ، نحتاج إلى إدخال "مربع نص" من صندوق الأدوات.
- بالنسبة إلى "مربع النص" هذا ، نحتاج إلى تغيير خاصية "الاسم" وتغييرها إلى "Password_TB".
الآن في نموذج تسجيل الدخول إلى VBA ، سيشار إلى "Combo Box" بالاسم "Zone_List_ComboBox" وسيشار إلى "Text Box" بالاسم "Password_TB".
- أدخل "زري الأمر" وأدخل النص كـ "تسجيل الدخول" و "تسجيل الخروج".
بالنسبة لزر الأمر "تسجيل الدخول" ، قم بتغيير خاصية الاسم إلى "Login_CommandButton" وبالنسبة لزر الأمر "تسجيل الخروج" ، قم بتغيير خاصية الاسم إلى "LogOut_CommandButton".
الخطوة 3: الكود
لقد انتهينا من جزء تصميم نموذج تسجيل الدخول إلى VBA ، فقد حان الوقت لكتابة الكود لإنشاء نموذج مستخدم قائم على تسجيل الدخول في Excel VBA.
- انقر نقرًا مزدوجًا فوق زر الأمر "تسجيل الدخول" وهذا سيفتح إجراء فرعي فارغ مثل الإجراء أدناه.
داخل هذا الإجراء ، نحتاج إلى كتابة التعليمات البرمجية حول ما يجب أن يحدث إذا تم الضغط على زر "تسجيل الدخول".
لقد قمت بالفعل بكتابة الكود ، يمكنك نسخ ولصق الكود من الأسفل داخل الإجراء أعلاه.
رمز:
Private Sub Login_CommandButton_Click () If Zone_List_ComboBox.Value = "" ثم MsgBox "لا يمكن أن تكون المنطقة فارغة !!!" ، vbInformation ، "اسم المنطقة" اخرج من النهاية الفرعية إذا إذا كانت Password_TB.Value = "" إذًا لا يمكن أن تكون كلمة المرور MsgBox فارغة !! ؟ ("Admin"). حدد Else Dim ZoneName ككلمة مرور خافتة للسلسلة كـ Variant ZoneName = Zone_List_ComboBox.Value Password = Application.WorksheetFunction.VLookup (ZoneName، Sheets ("Admin"). Range ("A: B")، 2، 0 ) إذا كانت كلمة المرور Password_TB.Value ثم MsgBox "كلمة المرور غير مطابقة" ، vbInformation ،"كلمة مرور خاطئة" قم بإنهاء Sub End إذا كانت كلمة المرور = Password_TB.Value ثم قم بإلغاء تحميل أوراق Me (ZoneName) .Visible = True Sheets (ZoneName). حدد ActiveSheet.Range ("A1"). حدد End If End If End Sub
وبالمثل ، انقر نقرًا مزدوجًا فوق زر الأمر "تسجيل الخروج" وأدخل الرمز أدناه.
رمز:
Private Sub LogOut_CommandButton_Click () ThisWorkbook.Save ThisWorkbook.Close End Sub
الآن انقر نقرًا مزدوجًا فوق "نموذج المستخدم" (وليس على أي من الأزرار المدرجة) وأضف الكود أدناه.
رمز:
Private Sub UserForm_QueryClose (Cancel As Integer، CloseMode As Integer) 'يمنع استخدام الزر "إغلاق" If CloseMode = vbFormControlMenu ثم MsgBox "النقر فوق الزر" إغلاق "لا يعمل." إلغاء = True End If End Sub
- الآن انقر نقرًا مزدوجًا على أيقونة "ThisWorkbook". هذا سيفتح أسفل حقل الكود الفارغ.
الآن أضف الكود أدناه في هذا الحقل الفارغ.
رمز:
Private Sub Workbook_Open () Dim Ws كتطبيق ورقة العمل.DisplayAlerts = False Application.ScreenUpdating = خطأ لكل Ws في ActiveWorkbook.Worksheets If Ws.Name "Dummy" ثم Ws.Visible = xlSheetVeryHidden End If التالي Ws LogInUF.Show End Sub
- لقد انتهينا من جزء الترميز من النموذج. احفظ المصنف كمصنف "Macro-Enabled" وأعد فتح المصنف. عند إعادة فتح المصنف ، يجب أن نرى النافذة أدناه.
- من نموذج المستخدم هذا ، نحتاج إلى اختيار اسم المنطقة المعنية وإدخال كلمة المرور المرتبطة. على سبيل المثال ، سأختار المنطقة "الشرقية" من القائمة المنسدلة وأدخل كلمة المرور.
- إذا قمت بالنقر فوق "تسجيل الدخول" ، فيمكننا رؤية ورقة عمل المنطقة "الشرقية" فقط.
وبالمثل ، إذا قمنا بتسجيل الدخول باستخدام "المسؤول" ، فيمكننا الوصول إلى جميع أوراق العمل.
مثل هذا ، يمكننا إنشاء وصول إلى ورقة عمل محمية بكلمة مرور قائمة على تسجيل الدخول.
أشياء للذكرى
- تحتاج إلى استخدام نفس الأسماء التي قدمناها لنموذج المستخدم ومربع النص وزر الأمر ومربع التحرير والسرد في الترميز.
- يمكنك تغيير اسم المنطقة وكلمة المرور حسب رغبتك.