/ / Excel VBA Userform مع صفحات متعددة

Excel VBA Userform مع صفحات متعددة

أدناه سنلقي نظرة على برنامج في Excel VBA يقوم بإنشاء Userform الذي يحتوي على صفحات متعددة. هذا userform يحتوي أيضا على الصور.

يحتوي Multipage Control على صفحتين. في الصفحة 1 ، يمكن للمستخدم ملء معلوماته الشخصية. في الصفحة 2 ، يمكن للمستخدم الإشارة إلى اللوحة التي يحبها أكثر.

Userform الصفحة 1
Userform الصفحة 2

لإنشاء Userform ، قم بتنفيذ الخطوات التالية.

1. افتح محرر Visual Basic. إذا لم يكن Project Explorer مرئياً ، فانقر فوق View ، Project Explorer.

2. انقر فوق Insert ، Userform. إذا لم يظهر Toolbox تلقائيًا ، فانقر فوق View ، Toolbox. يجب إعداد الشاشة على النحو التالي.

إعداد شاشة Userform في Excel VBA

3. إضافة عنصر التحكم Multipage والتسميات ومربعات النص (أولاً في الجزء العلوي ، الثاني أدناه الأول) ، الإطار ، أزرار الخيارات (أولاً في اليسار ، الثاني على اليمين) ، مربع القائمة ، عنصر تحكم الصورة وزر الأمر. بمجرد اكتمال هذا ، يجب أن تكون النتيجة متسقة مع الإصدار الفارغ من Userform المعروضة سابقًا. على سبيل المثال ، قم بإنشاء عنصر تحكم Multipage بالنقر فوق Multipage من Toolbox. بعد ذلك ، يمكنك سحب عنصر تحكم Multipage على Userform. عند وصولك إلى الإطار "الجنس" ، تذكر أن ترسم هذا الإطار أولاً قبل وضع أزرار الخيارين فيه.

4. يمكنك تغيير الأسماء والتسميات التوضيحية لعناصر التحكم. يتم استخدام الأسماء في التعليمات البرمجية لـ Excel VBA. التسميات التوضيحية هي تلك التي تظهر على الشاشة. من الممارسات الجيدة تغيير أسماء عناصر التحكم ، ولكنها ليست ضرورية هنا لأن لدينا فقط بعض عناصر التحكم في هذا المثال. لتغيير التسمية التوضيحية لـ Userform وعلامات التبويب Multipage والتسميات والإطار وأزرار الخيارات وزر الأمر ، انقر فوق "عرض" و "إطار خصائص" وانقر فوق كل عنصر تحكم.

5. لإظهار Userform ، ضع زر أمر في ورقة العمل الخاصة بك وقم بإضافة سطر التعليمات البرمجية التالي:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

نحن الآن بصدد إنشاء Sub UserForm_Initialize. عند استخدام طريقة Show لـ Userform ، سيتم تنفيذ هذا الفرعي تلقائيًا.

6. افتح محرر Visual Basic.

7. في Project Explorer ، انقر بزر الماوس الأيمن فوق UserForm1 ، ثم انقر فوق عرض التعليمات البرمجية.

8. اختر Userform من القائمة المنسدلة اليسرى. اختر Initialize من القائمة المنسدلة اليمنى.

9. قم بإضافة أسطر التعليمات البرمجية التالية:

Private Sub UserForm_Initialize()

With ListBox1
    .AddItem "Mountains"
    .AddItem "Sunset"
    .AddItem "Beach"
    .AddItem "Winter"
End With

End Sub

توضيح: سيتم ملء مربع القائمة في الصفحة 2.

لقد أنشأنا الآن الجزء الأول من Userform. على الرغم من أنه يبدو أنيقًا بالفعل ، لن يحدث شيء بعد عندما نختار عنصرًا من مربع القائمة أو عندما نضغط على زر موافق.

10. قم بتنزيل الصور (الجانب الأيمن من هذه الصفحة) وأضفها إلى "C: test"

11. في Project Explorer ، انقر مرتين على UserForm1.

12. انقر مرتين على مربع القائمة.

13. قم بإضافة أسطر التعليمات البرمجية التالية:

Private Sub ListBox1_Click()

If ListBox1.ListIndex = 0 Then
    Image1.Picture = LoadPicture("C:testMountains.jpg")
End If

If ListBox1.ListIndex = 1 Then
    Image1.Picture = LoadPicture("C:testSunset.jpg")
End If

If ListBox1.ListIndex = 2 Then
    Image1.Picture = LoadPicture("C:testBeach.jpg")
End If

If ListBox1.ListIndex = 3 Then
    Image1.Picture = LoadPicture("C:testWinter.jpg")
End If

End Sub

Explanation: خطوط الكود هذه تقوم بتحميل صورة وفقا للعنصر المحدد في مربع الكشف.

14. انقر مرتين على زر موافق.

15. قم بإضافة الأسطر التعليمات البرمجية التالية:

Private Sub CommandButton1_Click()

Dim emptyRow As Long

"Make Sheet1 active
Sheet1.Activate

"Determine emptyRow
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1

"Transfer information
Cells(emptyRow, 1).Value = TextBox1.Value
Cells(emptyRow, 2).Value = TextBox2.Value

If OptionButton1.Value = True Then
    Cells(emptyRow, 3).Value = "Male"
Else
    Cells(emptyRow, 3).Value = "Female"
End If

Cells(emptyRow, 4).Value = ListBox1.Value

"Close Userform
Unload Me

End Sub

توضيح: أولاً ، نقوم بتنشيط Sheet1. بعد ذلك ، نحدد emptyRow. المتغير emptyRow هو أول صف فارغ ويزيد كل مرة يتم فيها إضافة سجل. بعد ذلك ، نقوم بنقل المعلومات من Userform إلى أعمدة محددة من emptyRow. وأخيرًا ، أغلق Userform.

16. قم بإنهاء محرر Visual Basic ، وأدخل التسميات الموضحة أدناه في الصف 1 واختبر Userform.

نتيجة:

اختبار Userform

اقرأ أيضًا: