اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

المساعدة فى كود البحث فى الليست بوكس


إذهب إلى أفضل إجابة Solved by أ / محمد صالح,

الردود الموصى بها

السلام عليكم لابد من بدء المشاركة بالتحية !!!يعمل هذا الكود بشكل جيد في البحث فى الليست بوكس ، ولكن عند تجربة سيناريوهين ، يحدث ما يلي:

1) عند استبدال سطر (myCols = Array (1، 3،4، 5، 7، 10) بى myCols = Array (TextBox 2) والسماح لـ TextBox 2 بالكتابة بالداخل إنه (1،3،4،5،7،10) يعطيني رسالة خطأ (application defined or object defined error يتم تمييزه في السطر التالي في الكود (a (ii 1 ، j) = ws.Cells ( i، myCols (ii)). value). ما هو الحل لهذا التحدي؟

2) عند استبدال سطر (myCols = Array (1، 3،4، 5، 7، 10)  بى myCols = Array (T1، T2،T3، T4، T5، T6) حيث T صناديق نص تحتوي على أرقام أعمدة منفصلة يعطى نتيجة صحيحة و لكن عند وجود تكست بوكس منهم فارغ  فانه يعطينى رسالة خطا  MISMATCH , و يعلم على السطر التالى بالكود code (a (ii 1، j) = ws.Cells (i، myCols (ii)). Value) ما هو الحل لهذا التحدي؟

listbox dynamic.xlsb

رابط هذا التعليق
شارك

  • أفضل إجابة

المشكلة الأولى تكمن في أن النص الموجودج في مربع النص هو نص string وليس مصفوفة array

والحل

mycols = Split(textbox2.value, ",")

لتحويل النص إلى مصفوفة

ولتحويل العنصر في المصفوفة من نص إلى رقم نستعمل int في هذا السطر

 a(ii + 1, j) = ws.Cells(i, Int(myCols(ii))).Value

والمشكلة الثانية تكمن في أن الخلية الفارغة قيمتها صفر ولا يوجد عمود رقمه صفر

والحل ألا توجد خلية فارغة

وهذا ملفك بعد التعديل: لأنه في الغالب يوجد مشكلة في تطبيق المعلومة المستفادة من الإجابة

بالتوفيق

listbox dynamic.xlsb

  • Like 1
رابط هذا التعليق
شارك

زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information