Skip to main content

كيفية إنشاء مربعات قائمة متتالية ديناميكية في Excel؟

Author: Siluvia Last Modified: 2025-05-30

قد تعرف كيفية إنشاء قائمة منسدلة للتحقق المتتالي في Excel. ولكن، كيف يمكنك إنشاء مربعات قائمة متتالية ديناميكية في Excel؟ يقدم لك هذا المقال طريقة باستخدام VBA لتحقيق ذلك.

إنشاء مربعات قائمة متتالية ديناميكية باستخدام كود VBA


إنشاء مربعات قائمة متتالية ديناميكية باستخدام كود VBA

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

dynamic cascading list boxes

1. أولاً، تحتاج إلى استخراج جميع القيم الفريدة من عمود المشروبات. حدد خلية فارغة، وأدخل الصيغة المصفوفة =IFERROR(INDEX($A$2:$A$11, MATCH(0,COUNTIF($J$1:J1, $A$2:$A$11), 0)),"") في شريط الصيغة، ثم اضغط على مفاتيح Ctrl + Shift + Enter معًا. بعد ذلك، اسحب مقبض التعبئة للحصول على جميع القيم الفريدة. انظر لقطة الشاشة:

list all unique values with formula

ملاحظة: في الصيغة، $A$2:$A$11 هو النطاق الذي ستستخرج منه القيم الفريدة. J1 هي الخلية الموجودة فوق الخلية التي تتواجد فيها الصيغة.

نصيحة: إذا كانت الصيغة صعبة التذكر والتعامل معها، فإن أداة تحديد الخلايا المكررة والفريدة من Kutools for Excel ستكون خيارًا جيدًا لك لاستخراج جميع القيم الفريدة من عمود بسرعة.

يرجى تحديد العمود الذي يحتوي على القيم الفريدة التي تريد استخراجها. ثم قم بتمكين الأداة عن طريق النقر على Kutools > تحديد > تحديد الخلايا المكررة والفريدة. في مربع الحوار تحديد الخلايا المكررة والفريدة، حدد الخيار القيم الفريدة (بما في ذلك التكرار الأول) واضغط على زر موافق. بعد ذلك، سيتم تحديد جميع القيم الفريدة في العمود. يرجى نسخها ولصقها في مكان جديد. انظر لقطة الشاشة:

select unique values with kutools

Kutools لـ Excel: تحتوي على أكثر من 200 أداة إضافية لـ Excel، يمكن تجربتها مجانًا بدون قيود لمدة 60 يومًا. قم بالتنزيل والتجربة المجانية الآن!

2. قم بإدراج مربعين قائمة بشكل منفصل عن طريق النقر على مطور > إدراج > مربع قائمة (عنصر تحكم ActiveX). انظر لقطة الشاشة:

click List Box from Developer tab

3. انقر بزر الماوس الأيمن على مربع القائمة الرئيسي وحدد الخصائص من قائمة السياق. في مربع الحوار الخصائص، قم بتغيير حقل (الاسم) إلى مشروب أو أي اسم آخر حسب الحاجة، وأدخل نطاق الخلايا الذي يحتوي على القيم الفريدة المستخرجة في حقل ListFillRange وأغلق مربع الحوار.

specify the options in the Properties pane

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 هما اسمان لمربعات القائمة، قم بتغييرهما إلى الأسماء الخاصة بك.

click View Code to pate the code into the module

6. اضغط على مفاتيح Alt + Q لإغلاق نافذة Microsoft Visual Basic for Applications.

7. قم بإيقاف وضع التصميم عن طريق النقر على مطور > وضع التصميم.

من الآن فصاعدًا، عند اختيار أي نوع من المشروبات مثل القهوة في مربع القائمة الرئيسي، سيتم عرض جميع عناصر القهوة في مربع القائمة الثاني. اختيار الشاي أو النبيذ سيعرض فقط عناصر الشاي أو النبيذ في مربع القائمة الثاني. انظر لقطة الشاشة:

dynamic cascading list boxes are created



مقالات ذات صلة:

أفضل أدوات الإنتاجية لمكتب العمل

🤖 Kutools AI Aide: أحدث ثورة في تحليل البيانات من خلال: التنفيذ الذكي |توليد الشيفرة |إنشاء الصيغ المخصصة |تحليل البيانات وتوليد الرسوم البيانية |استدعاء الوظائف المحسنة
الميزات الشائعة: البحث، تمييز أو وضع علامة على المكررات | حذف الصفوف الفارغة | دمج الأعمدة أو العنوان دون فقدان البيانات | تقريب ...
بحث متقدم: بحث V متعدد المعايير | بحث V متعدد القيم | بحث في عدة ورقات | مطابقة غامضة ....
قائمة منسدلة متقدمة: إنشاء قائمة منسدلة بسرعة | قائمة منسدلة تابعة | قائمة منسدلة متعددة الاختيار ....
إدارة الأعمدة: إضافة عدد محدد من الأعمدة | نقل الأعمدة | تبديل حالة إظهار الأعمدة المخفية | مقارنة النطاق والأعمدة ...
ميزات مميزة: التركيز على الشبكة | عرض التصميم | شريط الصيغ المحسن | أدوات المصنف & أدوات الورقة العمل | مكتبة النص التلقائي (Auto Text) | منتقي التاريخ | دمج البيانات | تشفير/فك تشفير الخلايا | إرسال البريد الإلكتروني حسب القائمة | مرشح متقدم | تصفية خاصة (تصفية الخلايا التي تحتوي على خط عريض/مائل/يتوسطه خط...) ...
أفضل15 مجموعة أدوات:12 أداة نصية (إضافة نص، حذف الأحرف المحددة، ...) | أكثر من50 نوع من الرسوم البيانية (مخطط جانت، ...) | أكثر من40 صيغة عملية (حساب العمر بناءً على تاريخ الميلاد، ...) |19 أداة إدراج (إدراج رمز الاستجابة السريعة، إدراج صورة من المسار، ...) |12 أداة تحويل (تحويل إلى كلمات، تحويل العملة، ...) |7 أدوات دمج وتقسيم (دمج متقدم للصفوف، تقسيم الخلايا، ...) | ... والمزيد

عزز مهاراتك في Excel مع Kutools لـ Excel، واختبر الكفاءة كما لم يحدث من قبل. Kutools لـ Excel يقدم أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...


Office Tab يقدم واجهة التبويب لـ Office، ويجعل عملك أسهل بكثير

  • تمكين تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint.
  • افتح وأنشئ عدة مستندات في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ منفصلة.
  • يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات بالماوس يومياً!