الصفتى قام بنشر يونيو 1, 2022 قام بنشر يونيو 1, 2022 السلام عليكم لابد من بدء المشاركة بالتحية !!!يعمل هذا الكود بشكل جيد في البحث فى الليست بوكس ، ولكن عند تجربة سيناريوهين ، يحدث ما يلي: 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
تمت الإجابة أ / محمد صالح قام بنشر يونيو 1, 2022 تمت الإجابة قام بنشر يونيو 1, 2022 المشكلة الأولى تكمن في أن النص الموجودج في مربع النص هو نص string وليس مصفوفة array والحل mycols = Split(textbox2.value, ",") لتحويل النص إلى مصفوفة ولتحويل العنصر في المصفوفة من نص إلى رقم نستعمل int في هذا السطر a(ii + 1, j) = ws.Cells(i, Int(myCols(ii))).Value والمشكلة الثانية تكمن في أن الخلية الفارغة قيمتها صفر ولا يوجد عمود رقمه صفر والحل ألا توجد خلية فارغة وهذا ملفك بعد التعديل: لأنه في الغالب يوجد مشكلة في تطبيق المعلومة المستفادة من الإجابة بالتوفيق listbox dynamic.xlsb 1
الصفتى قام بنشر يونيو 1, 2022 الكاتب قام بنشر يونيو 1, 2022 شكرا استاذ محمد لاهتمام حضرتك و جزاك الله خيرا 1
الردود الموصى بها