السلام عليكم ورحمة الله وبركاته إخواني وأحبابي في الله
هذا الموضوع مخصص للرد على سؤال في منتدى أوفيسنا ، ولم أضع إجابتي هناك لأن المنتدى يمنع الروابط التي أضعها ويعتبر هذا مخالف لقواعد المشاركة هناك - ولهم الحربة في إدارة المنتدى الخاص بهم - ، وعموماً لأنني أعرف أن هناك أعضاء من هنا وهناك فآثرت وضع الإجابة لتعم الفائدة ويكون الموضوع مستمر ، لأنه مع الوقت لا يلتفت أحد للأسئلة نفسها ، بينما تبقى الشروحات لوقت أطول.
وحفاظاً على حقوق الملكية ، يرجى لمن يضع الإجابة هناك ذكر المصدر ، وهذا أمر طبيعي في أي منتدى أن يذكر المصدر
هذا هو السؤال المطروح
قمت بإنشاء ليست بوكس ListBox1 وزر أمر CommandButton1 ..
في بداية تشغيل الفورم قمت بإنشاء مصفوفة من 3 صفوف و5 أعمدة ووضعت فيها القيم للمتغيرات i و j بحاصل ضرب المتغيرين .. الفكرة هنا تعبئة الليست بوكس بأي بيانات لتجربة الكود عليها ، وفي النهاية هنا يتم تعبئة الليست بوكس بقيم المصفوفة ، وتحديد عدد الأعمدة ليساوي عدد أعمدة المصفوفة
نأتي للجزء المهم وهو الإجابة على السؤال المطروح ، حيث وضعت الكود في حدث الـ CommanButton1 ، والذي سيقوم بوضع البيانات في كل صف داخل الليست بوكس داخل نطاق معين في ورقة العمل ، والنطاق المطلوب وضع البيانات فيه هو الصف الثاني ، مع مراعاة وضع البيانات في أعمدة بالتتالي بمسافة 5 أعمدة في كل مرة.
يبدأ الكود بإنشاء مصفوفة فارغة من القيم وأبعادها هي عدد صفوف الليست بوكس وعدد أعمدة الليست بوكس ، ثم عمل حلقة تكرارية في الليست بوكس لتخزين القيم الموجودة في الليست ووضعها داخل المصفوفة v ..
وفي نهاية المطاف يتم عمل حلقة تكرارية لعدد صفوف المصفوفة ووضعها في ورقة العمل في الأعمدة بالتتالي
وإليكم الملف المرفق المطبق فيه الحل لمشاهدة الروابط يلزمك التسجيل في أكاديمية الصقر للتدريب أخوكم في الله / ياسر خليل أبو البراء