السلام عليكم ورحمة الله وبركاته
أقدم لكم طريقة التعامل مع القوائم المنسدلة أو ما يعرف بالـ Validation Lists بحيث لو لديك قائمة منسدلة بها عناصر كثيرة جداً وتريد تقليل نتائج البحث بحيث ييسر عليك الاختيار
نفترض أن لديك قائمة رئيسية هي مصدر القوائم المنسدلة وهذه القائمة تقع في النطاق من C9 إلى C59 بهذا الشكل
والمطلوب هو أن تقوم بإنشاء قوائم منسدلة في العمود G بدايةً من الصف رقم 9 إلى الصف رقم 33 أي النطاق G9:G33
خطوات الحل :
*********
أولاً قم بتسمية النطاق الرئيسي الذي يحتوي على البيانات باسم معرف وليكن باسم Items بهذه الطريقة
>> قم بتحديد النطاق C9:C59 وضع مؤشر الماوس في صندوق الاسم Name Box واكتب الاسم Items على سبيل المثال
ثانياً قم بتحديد النطاق المطلوب عمل وإنشاء قوائم منسدلة به وهي النطاق G9:G33
>> اذهب للتبويب Data ثم انقر Data Validation فتظهر لك نافذة بهذا الشكل (اتبع الخطوات كما بالصورة)
ثالثاً نقوم بضبط هذه النافذة بشكل معين .. بحيث نختار List من الحقل المسمى Allow ثم نضع المعادلة التالية في الحقل المسمى Source
CODE
=OFFSET(INDEX(Items,MATCH(G9&"*",Items,0),1),0,0,COUNTIF(Items,G9&"*"),1)
الآن انتقل لآخر تبويب في هذه النافذة والمسمى Error Alert وأزل علامة الصح من الخيار Show error alert after invalid data is entered وأخيراً انقر OK
الآن انتهت الخطوات ويمكن التجربة .. قم باختيار الخلية G9 على سبيل المثال واكتب فيها "در" ثم افتح القائمة المنسدلة لتجد العناصر التي تحتوي على هذين الحرفين كما بالشكل
إضافة للموضوع : الخط في القوائم المنسدلة يكون خط ذو حجم صغير ، لذا قمت بوضع كود في حدث ورقة العمل بهذا الشكل
CODE
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Skipper
Dim x As Long
x = 100
If Target.Validation.Type = xlValidateList Then x = 130
Skipper:
ActiveWindow.Zoom = x
End Sub
والكود يقوم بتكبير الزوم لورقة العمل عند تحديد الخلايا التي تحتوي على قوائم منسدلة فقط
رابط الملف من هنا
أرجو أن أكون وفقت في تقديم الموضوع
تقبلوا وافر تقديري واحترامي
أخوكم في الله / ياسر خليل أبو البراء