/ / Excel VBA Multicolumn مربع تحرير وسرد

Excel VBA Multicolumn Combo Box

أدناه سننظر في برنامج في Excel VBA مما يخلق Userform الذي يحتوي على مربع التحرير والسرد متعدد الأعمدة.

شكل المستخدم الذي سنقوم بإنشائه يبدو كما يلي:

مربع تحرير وسرد متعدد الأعمدة في Excel VBA

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

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

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

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

3. إضافة التسمية ، مربع التحرير والسرد وأزرار الأوامر. بمجرد اكتمال ذلك ، يجب أن تكون النتيجة متوافقة مع صورة Userform المعروضة سابقًا. على سبيل المثال ، قم بإنشاء عنصر تحكم مربع التحرير والسرد بالنقر فوق ComboBox من Toolbox. بعد ذلك ، يمكنك سحب مربع تحرير وسرد على Userform.

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

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()

ComboBox1.ColumnCount = 2

Dim Films(1 To 5, 1 To 2) As String
Dim i As Integer, j As Integer

Films(1, 1) = "Lord of the Rings"
Films(2, 1) = "Speed"
Films(3, 1) = "Star Wars"
Films(4, 1) = "The Godfather"
Films(5, 1) = "Pulp Fiction"

Films(1, 2) = "Adventure"
Films(2, 2) = "Action"
Films(3, 2) = "Sci-Fi"
Films(4, 2) = "Crime"
Films(5, 2) = "Drama"

ComboBox1.List = Films

End Sub

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

لقد أنشأنا الآن الجزء الأول من Userform. على الرغم من أنه يبدو أنيقًا بالفعل ، فلن يحدث أي شيء بعد النقر على أزرار الأوامر في Userform.

10. في مستكشف المشاريع ، انقر مرتين على UserForm1.

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

12. أضف خطوط التعليمات البرمجية التالية:

Private Sub CommandButton1_Click()

Unload Me

MsgBox "You selected " & ComboBox1.Value

On Error Resume Next
MsgBox "You like " & ComboBox1.Column(1) & " movies"

End Sub

ملحوظة: إغلاق خطوط التعليمات البرمجية هذه في Userform VBA Excel وعرض العنصر والنوع المحدد. تتجاهل عبارة "On Error Resume Next" الخطأ عندما يملأ المستخدم فيلمه الخاص (في هذه الحالة لا يوجد نوع متاح).

13. انقر مرتين على زر إلغاء.

14. أضف سطر الرمز التالي:

Private Sub CommandButton2_Click()

Unload Me

End Sub

النتيجة عند تحديد السرعة وانقر فوق موافق.

Multicolumn Combo Box Result

Multicolumn Combo Box Result

اقرأ أيضًا: