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

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

قام بنشر

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

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