VBA ComboBox | كيفية إنشاء واستخدام ComboBox في VBA؟

كومبو بوكس ​​اكسل فبا

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

يمكن مقارنة ComboBox بقائمة منسدلة في Excel ، في أوراق العمل ، استخدمنا التحقق من صحة البيانات لتوفير قائمة منسدلة ولكن في VBA ، توجد ميزة نموذج مستخدم حيث يتم استخدامها لتوفير قائمة منسدلة في أي نموذج مستخدم ، ولكن إذا أردنا استخدام مربع تحرير وسرد في Excel ، فيمكننا أيضًا الوصول إليه من قسم المطور من هناك ، يمكننا إنشاء مربعات تحرير وسرد لخلايا فردية أو متعددة.

يشبه Combo Box القائمة المنسدلة الموجودة في ورقة عمل excel إلى حد كبير ، مع مربع التحرير والسرد يمكننا تخزين القيم المحددة مسبقًا ، حتى يتمكن المستخدمون من جعل التحديد من القائمة متاحًا من مربع التحرير والسرد. يستخدم Combo Box بشكل عام مع نماذج المستخدم كجزء من الحصول على المدخلات من المستخدمين.

تعد نماذج المستخدم مفيدة ولكن وجود أدوات أخرى في نموذج المستخدم هو ما يجعل نموذج المستخدم مميزًا للغاية. إحدى الأدوات التي نستخدمها غالبًا كأداة لنموذج المستخدم هي "ComboBox".

أفضل طريقتين لإنشاء VBA ComboBox

يمكنك تنزيل نموذج VBA Combo Box Excel هذا من هنا - قالب Excel لـ VBA Combo Box

# 1 - استخدام الترميز المباشر

أولاً ، سنرى كيفية استخدام مربع التحرير والسرد مع ورقة العمل. افتح أيًا من أوراق العمل في مصنف Excel ، وانتقل إلى علامة التبويب Developer وتحت علامة التبويب هذه لدينا أداة تسمى "إدراج". انقر فوق هذا وتحت هذا لدينا خياران Active X Controls & Form Controls في Excel.

من “Active X Controls” اختر “Combo Box”.

يمكنك الآن رسم هذا الكائن في أي من أوراق العمل.

انقر بزر الماوس الأيمن على مربع التحرير والسرد واختر خيار "خصائص".

عندما تختار العقارات ، ستفتح قائمة ضخمة من خصائص مربع التحرير والسرد.

بالنسبة لمربع التحرير والسرد هذا ، سنقدم قائمة بأسماء الأقسام ، لذا قم بتغيير خاصية الاسم في مربع التحرير والسرد إلى  "DeptComboBox" .

الآن سيشار إلى مربع التحرير والسرد هذا بالاسم "DeptComboBox" . نحتاج إلى إعطاء أسماء أقسام محددة مسبقًا ، لذا لدي هنا قائمة بأسماء الأقسام.

نحتاج الآن إلى إضافة هذه القيم إلى قائمة مربع التحرير والسرد ، يمكننا القيام بذلك بطريقتين ، من خلال الترميز أو من خلال مدير الاسم.

انقر نقرًا مزدوجًا فوق Combobox وسيأخذك إلى إجراء ماكرو VBA.

لكننا نحتاج إلى رؤية أسماء الأقسام هذه عند فتح المصنف ، لذا انقر نقرًا مزدوجًا على "ThisWorkbook".

من القائمة المنسدلة اختر "مصنف".

من بين الخيارات اختر "فتح".

الآن سيتم إنشاء فراغ مثل أدناه.

داخل هذا الماكرو أدخل الرمز أدناه.

رمز:

 Private Sub Workbook_Open () مع أوراق العمل ("Sheet1"). DeptComboBox .AddItem "Finance" .AddItem "Marketing" .AddItem "Merchandising" .AddItem "Operations" .AddItem "Audit" .AddItem "Client Servicing" End With End Sub 

حسنًا ، احفظ الآن المصنف وأغلقه ، عندما تعيد فتح المصنف يمكننا رؤية أسماء الأقسام فيه.

# 2 - استخدام UserForm

هناك طريقة أخرى لإضافة القيم إلى ComboBox وهي استخدام نموذج المستخدم. أولاً ، قم بتسمية الخلايا باسم "القسم".

انتقل إلى محرر Visual Basic وأدخل نموذج المستخدم من خيار INSERT.

الآن يتم إنشاء نموذج المستخدم الجديد.

بجانب نموذج المستخدم ، يمكننا أن نرى "Toolbox" من صندوق الأدوات هذا يمكننا إدراج "Combo Box".

الآن تم تضمين مربع التحرير والسرد في نموذج المستخدم ، في هذه الطريقة لفتح خيار الخصائص ، حدد مربع التحرير والسرد واضغط على المفتاح F4 لفتح نافذة الخصائص.

قم بالتمرير لأسفل في علامة تبويب الخصائص واختر "مصدر الصف".

بالنسبة لهذا "مصدر الصف" ، أدخل الاسم الذي قدمناه لخلايا اسم القسم.

الآن مربع التحرير والسرد هذا يحمل مرجع اسم "القسم" .

الآن قم بتشغيل نموذج المستخدم باستخدام زر التشغيل.

يمكننا الآن رؤية قائمة بأسماء الأقسام في مربع التحرير والسرد في نموذج المستخدم.

نموذج مستخدم عمليًا مرتبط بمربع تحرير وسرد ومربع نص والعديد من الأدوات الأخرى. سنقوم بإنشاء نموذج مستخدم بسيط لإدخال البيانات مع مربع نص ومربع تحرير وسرد.

قم بإنشاء نموذج مستخدم مثل أدناه.

قم بإنشاء زري أمر.

انقر نقرًا مزدوجًا فوق الزر "إرسال" ، وسيفتح أسفل الماكرو.

داخل هذا الماكرو أضف الرمز أدناه.

رمز:

 CommandButton1_Click () Dim LR As Long LR = الخلايا (Rows.Count، 1) .End (xlUp) .Row + 1 Cells (LR، 1) .Value = TextBox1.Value Cells (LR، 2) .Value = ComboBox1 .Value End Sub 

الآن انقر نقرًا مزدوجًا على زر "CANCEL" وأضف الكود أدناه.

الآن في ورقة العمل ، قم بإنشاء قالب مثل أدناه.

الآن قم بتشغيل نموذج المستخدم وسوف يفتح مثل هذا.

أدخل اسم الموظف واختر اسم القسم من قائمة التحرير والسرد.

انقر على زر الإرسال وشاهد السحر.

حصلنا على القيم التي تم إدخالها في تنسيق الجدول الذي أنشأناه.

أشياء للذكرى

  • كومبو بوكس ​​لها خصائصها الخاصة كذلك.
  • تأتي إضافة القيم إلى القائمة بطريقتين ، أحدهما طريقة ترميز والآخر هو مرجع اسم النطاق.
  • عادةً ما يكون COMBO BOX جزءًا من نموذج المستخدم.

$config[zx-auto] not found$config[zx-overlay] not found