جدول المحتويات
بناءً على الظروف ، قد تحتاج إلى تحديد قيم متعددة داخل القائمة المنسدلة. في هذا البرنامج التعليمي ، سوف نوضح لك كيفية إجراء تحديد متعدد في قائمة منسدلة. في هذه الجلسة ، نستخدم Excel 2019 ، فلا تتردد في استخدام الإصدار المفضل لديك.
قبل الغوص في الجلسة ، دعنا نتعرف على مجموعة البيانات التي تشكل أساس الأمثلة لدينا.
لدينا هنا العديد من عناصر القرطاسية ، باستخدام هذه العناصر سننشئ قائمة منسدلة ونحدد عناصر متعددة هناك.
لاحظ أنها مجموعة بيانات بسيطة للحفاظ على الأمور مباشرة . في سيناريو عملي ، قد تصادف مجموعة بيانات أكبر بكثير ومعقدة.
Practice Workbook
يمكنك تنزيل مصنف التدريب من الارتباط أدناه>
إجراء تحديد متعدد من القائمة المنسدلة. xlsm
تحديد متعدد في قائمة منسدلة
أولاً وقبل كل شيء ، نحتاج إلى إنشاء قائمة منسدلة على أساس لدينا القرطاسية. فلنقم بإنشائه بسرعة. لا تتردد في زيارة المقالة المتعلقة بإعداد قائمة منسدلة.
في مربع الحوار التحقق من صحة البيانات حدد نوع البيانات LIST وأدخل نطاق خلايا العناصر.
B4: B11 هو النطاق الذي يحتوي على عناصر القرطاسية. الآن سوف تجد القائمة المنسدلة.
اقرأ المزيد: قائمة Excel المنسدلة اعتمادًا على التحديد
1. اخترعناصر متعددة (يسمح بتحديد مكرر)
تحدد القائمة المنسدلة التقليدية عنصرًا واحدًا دائمًا. هنا يمكنك أن ترى ، لقد اخترنا القلم من القائمة (الصورة أدناه).
الآن ، إذا حددنا عنصرًا آخر ، دعنا نقول قلم رصاص
ثم سيحل محل القيمة السابقة. فقط قلم رصاص سيبقى محددًا.
لتحديد عناصر متعددة ، نحتاج إلى استخدام كود VBA . افتح نافذة Microsoft Visual Basic for Applications (اضغط على ALT + F11 لفتحها).
الآن انقر نقرًا مزدوجًا فوق اسم ورقة العمل أو الرقم الذي تريد تحديده عناصر متعددة داخل القائمة المنسدلة. سوف تجد نافذة الكود لتلك الورقة المعينة.
هنا ، نافذة الكود لـ Sheet2 في كتابنا (لدينا القائمة المنسدلة list في هذه الورقة).
بمجرد فتح نافذة الكود ، أدخل الكود التالي هناك
2476
احفظ الرمز ، وحاول الآن تحديد القيم في القائمة المنسدلة.
بعد تحديد قلم رصاص ، سنقوم بتحديد عنصر آخر دفتر ملاحظات . ويمكنك أن ترى ، وجدنا كلا العنصرين (الصورة أدناه).
سيسمح لنا هذا الرمز بتكرار التحديد. لنفترض أنه إذا حددنا قلم رصاص مرة أخرى ،
فسنجد العنصر مرة أخرى في مربع التحديد.
شرح الكود
لقد أعلنا عن سلسلتين Oldvalue و Newvalue .
يمكنك أن ترى أننا أنشأنا القائمة المنسدلة في الخلية D4 ، ولهذا السبب عنواننا الهدف هو D4 . بالإضافة إلى ذلك ، قمنا بإعادة التحقق مما إذا كانت الخلية تستخدم التحقق من صحة البيانات أم لا تستخدم Target.SpecialCells .
بمجرد تحديد قيمة ، قمنا بإيقاف تشغيل الأحداث ( Application.EnableEvents = False
) لذلك لا تتغير ر تشغيل الحدث مرة أخرى. ثم قم بتخزين العنصر المحدد في Newvalue .
بعد التراجع عن التغيير ، قمنا بتعيين القيمة في Oldvalue . ثم تحقق مما إذا كانت Oldvalue فارغة أم لا. إذا كانت فارغة (يعني أنه تم تحديد قيمة واحدة فقط) ، فقم بإرجاع Newvalue . خلاف ذلك ، قم بتسلسل Oldvalue و Newvalue .
قبل إنهاء إعادة تعيين الحدث ، حتى نتمكن من التغيير إذا لزم الأمر.
قراءة المزيد: القائمة المنسدلة متعددة المعالين Excel VBA
2. حدد عناصر متعددة من القائمة المنسدلة (التحديد الفريد فقط)
في القسم السابق ، لقد رأينا التحديدات المتعددة حيث تم السماح بالتكرار. إذا كنت لا تريد ذلك ، فاتبع هذا القسم.
للتيسير ، استخدمنا ورقة منفصلة لهذا العرض التوضيحي. هذه المرة نحن في Sheet3. اكتب الكود التالي في نافذة الكود لهذه الورقة.
5813
هل هناك أي فرق مقارنة بالكود السابق! ألقِ نظرة فاحصة ، ستتمكن من تحديد الاختلاف الطفيف.
هنا استخدمنا وظيفة VBA تسمى INSTR . ترجع الدالة INSTR موضع التكرار الأول لسلسلة فرعية في سلسلة. قم بزيارة مقالة INSTR هذه للحصول على مزيد من المعلومات.
باستخدام هذه العملية المنطقية مع InStr (1 ، Oldvalue ، Newvalue) = 0 ، تحققنا مما إذا كانت القيم موجودة أم لا. إذا أرجعت العملية المنطقية TRUE (لم يتم العثور عليها مسبقًا) ، فإنها تسمح بتحديد العنصر والتسلسل بالقيمة السابقة.
احفظ الرمز وحاول الآن تحديد عنصر يحتوي بالفعل تم تحديده.
هنا قمنا بالفعل باختيار قلم رصاص ، إذا أردنا تحديد ذلك مرة أخرى ، فلا يمكننا ذلك. لا يسمح بالقيم المكررة.
اقرأ المزيد: كيفية إنشاء قائمة منسدلة من ورقة أخرى في Excel
3. حدد العناصر الموجودة في Newline
حتى الآن ، وجدنا أن العناصر مفصولة بفاصلة. في هذا القسم ، سنرتب العناصر المحددة في سطور جديدة.
للتبسيط ، نقوم بدمج بضع خلايا مع الخلية D4 . للقيام بذلك ، حدد الخلايا التي تريد دمجها وانقر فوق دمج & amp؛ توسيط من قسم محاذاة من علامة التبويب الصفحة الرئيسية .
ستكتسب الخلية ارتفاعًا أكبر.
الآن ، دعنا نلقي نظرة على الكود الخاص بفصل العناصر من خلال سطر جديد. استخدم الكود التالي
7563
الاختلاف الوحيد عن الكود السابق هو أننا استخدمنا هذه المرة vbNewLine بين OldValue و NewValue .
يوفر vbNewLine سطرًا جديدًا بين العناصر.
الآن حدد العناصر.
نختار عنصرًا قلم يظهر في الصورة أعلاه. الآن حدد عنصرًا آخر.
ستجد العنصرين في سطرين مختلفين.
هنا لدينا اثنان القيم الموجودة في سطرين مختلفين. سيؤدي تحديد قيمة أخرى إلى إضافة ذلك إلى سطر آخر. ستكون كل قيمة في سطر جديد.
لاحظ أنه إذا كنت تريد محددًا آخر لفصل العناصر ، فاستخدم ذلك ضمن علامات الاقتباس المزدوجة بدلاً من vbNewline .
الخاتمة
هذا كل شيء لهذا اليوم. لقد قمنا بإدراج عدة طرق لإجراء تحديدات متعددة في القائمة المنسدلة. آمل أن تجد هذا مفيدًا. لا تتردد في التعليق إذا كان من الصعب فهم أي شيء. أخبرنا بأي طرق أخرى فاتناها هنا.