كيفية إنشاء مربعات قائمة متتالية ديناميكية في Excel؟
قد تعرف كيفية إنشاء قائمة منسدلة للتحقق المتتالي في Excel. ولكن، كيف يمكنك إنشاء مربعات قائمة متتالية ديناميكية في Excel؟ يقدم لك هذا المقال طريقة باستخدام VBA لتحقيق ذلك.
إنشاء مربعات قائمة متتالية ديناميكية باستخدام كود VBA
إنشاء مربعات قائمة متتالية ديناميكية باستخدام كود VBA
كما هو موضح في لقطة الشاشة أدناه، تحتاج إلى إنشاء مربع قائمة رئيسي يحتوي على القيم الفريدة من عمود المشروبات، وعرض جميع القيم المقابلة في مربع القائمة الثاني بناءً على التحديد في مربع القائمة الرئيسي. الكود التالي الخاص بـ VBA يساعدك على تحقيق ذلك. يرجى اتباع الخطوات التالية:
1. أولاً، تحتاج إلى استخراج جميع القيم الفريدة من عمود المشروبات. حدد خلية فارغة، وأدخل الصيغة المصفوفة =IFERROR(INDEX($A$2:$A$11, MATCH(0,COUNTIF($J$1:J1, $A$2:$A$11), 0)),"") في شريط الصيغة، ثم اضغط على مفاتيح Ctrl + Shift + Enter معًا. بعد ذلك، اسحب مقبض التعبئة للحصول على جميع القيم الفريدة. انظر لقطة الشاشة:
ملاحظة: في الصيغة، $A$2:$A$11 هو النطاق الذي ستستخرج منه القيم الفريدة. J1 هي الخلية الموجودة فوق الخلية التي تتواجد فيها الصيغة.
نصيحة: إذا كانت الصيغة صعبة التذكر والتعامل معها، فإن أداة تحديد الخلايا المكررة والفريدة من Kutools for Excel ستكون خيارًا جيدًا لك لاستخراج جميع القيم الفريدة من عمود بسرعة.
يرجى تحديد العمود الذي يحتوي على القيم الفريدة التي تريد استخراجها. ثم قم بتمكين الأداة عن طريق النقر على Kutools > تحديد > تحديد الخلايا المكررة والفريدة. في مربع الحوار تحديد الخلايا المكررة والفريدة، حدد الخيار القيم الفريدة (بما في ذلك التكرار الأول) واضغط على زر موافق. بعد ذلك، سيتم تحديد جميع القيم الفريدة في العمود. يرجى نسخها ولصقها في مكان جديد. انظر لقطة الشاشة:
Kutools لـ Excel: تحتوي على أكثر من 200 أداة إضافية لـ Excel، يمكن تجربتها مجانًا بدون قيود لمدة 60 يومًا. قم بالتنزيل والتجربة المجانية الآن!
2. قم بإدراج مربعين قائمة بشكل منفصل عن طريق النقر على مطور > إدراج > مربع قائمة (عنصر تحكم ActiveX). انظر لقطة الشاشة:
3. انقر بزر الماوس الأيمن على مربع القائمة الرئيسي وحدد الخصائص من قائمة السياق. في مربع الحوار الخصائص، قم بتغيير حقل (الاسم) إلى مشروب أو أي اسم آخر حسب الحاجة، وأدخل نطاق الخلايا الذي يحتوي على القيم الفريدة المستخرجة في حقل ListFillRange وأغلق مربع الحوار.
4. كرر الخطوة 3 لتغيير حقل (الاسم) لمربع القائمة الثاني إلى Item في مربع الحوار الخصائص.
5. انقر بزر الماوس الأيمن على علامة ورقة العمل وحدد عرض الكود من قائمة النقر بزر الماوس الأيمن. ثم انسخ الكود التالي الخاص بـ VBA إلى نافذة الكود. انظر لقطة الشاشة:
كود VBA: إنشاء مربعات قائمة متتالية ديناميكية في Excel
Dim xPreStr As String
Private Sub Drink_Click()
'Update by Extendoffice 2018/06/04
Dim I, xRows As Long
Dim xRg As Range
Dim xRegStr As String
Application.ScreenUpdating = False
xRegStr = Me.Drink.Text
Set xRg = Range("A2:A11")
xRows = xRg.Rows.Count
If xRegStr <> xPreStr Then
Me.Item.Clear
'Me.OtherListBoxName.Clear
Set xRg = xRg(1)
For I = 1 To xRows
If xRg.Offset(I - 1).Value = xRegStr Then
Me.Item.AddItem xRg.Offset(I - 1, 1).Value
'Me.OtherListBoxName.AddItem xRg.Offset(I - 1, 2).Value
End If
Next
xPreStr = xRegStr
End If
Application.ScreenUpdating = True
End Sub
ملاحظات: في الكود، Drink وItem هما اسمان لمربعات القائمة، قم بتغييرهما إلى الأسماء الخاصة بك.
6. اضغط على مفاتيح Alt + Q لإغلاق نافذة Microsoft Visual Basic for Applications.
7. قم بإيقاف وضع التصميم عن طريق النقر على مطور > وضع التصميم.
من الآن فصاعدًا، عند اختيار أي نوع من المشروبات مثل القهوة في مربع القائمة الرئيسي، سيتم عرض جميع عناصر القهوة في مربع القائمة الثاني. اختيار الشاي أو النبيذ سيعرض فقط عناصر الشاي أو النبيذ في مربع القائمة الثاني. انظر لقطة الشاشة:
مقالات ذات صلة:
- كيفية مسح خلية قائمة منسدلة تعتمد على أخرى بعد تغيير التحديد في Excel؟
- كيفية إنشاء قوائم منسدلة متتالية تعتمد على بعضها البعض في Excel؟
- كيفية ملء الخلايا الأخرى تلقائيًا عند تحديد القيم في قائمة منسدلة في Excel؟
- كيفية إنشاء تقويم في قائمة منسدلة في Excel؟
- كيفية حفظ أو الاحتفاظ بالاختيارات في مربعات قائمة ActiveX في Excel؟
أفضل أدوات الإنتاجية لمكتب العمل
عزز مهاراتك في Excel مع Kutools لـ Excel، واختبر الكفاءة كما لم يحدث من قبل. Kutools لـ Excel يقدم أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
Office Tab يقدم واجهة التبويب لـ Office، ويجعل عملك أسهل بكثير
- تمكين تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint.
- افتح وأنشئ عدة مستندات في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ منفصلة.
- يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات بالماوس يومياً!