السلام عليكم الاستاذة الاعزاء
تـــم نقل الموضوع لقسم الأسئلة والإجابات
أريد التعلم كيفية جمع عده جداول كل جدول يحتوى على عدد 9 صفوف وعمودين بينهما فاصل عمود واحد يبتداء الجدول مثلا من J5:113 تكون عملية الجمع فى الخلية j15 وهى خلية مدمجه مع الخلية 115 لتصبح خلية واحدة الجدول مكرر اكثر من مرة وليكن اى عدد 10 او 13 او 17 مرة على سبيل المثال يوجد فاصل ثابت بين كل جدول والاخر بمقدار 6 صفوف تحسبا لعناونين الجداول أريد عملية جمع مرة واحدة فقط بواسطة الحلقات التكرارية مع العلم انه قد توجد بعض الخلايا التى ستجمع فارغة من الارقام مرفق ملف للتوضيح الامر لمشاهدة الروابط يلزمك التسجيل في أكاديمية الصقر للتدريب
The topic has been moved to the questions and answers section
أفضل إجابة مقدمة من
YasserKhalil
وهي:
وعليكم السلام أخي العزيز أحمد
تفضل الكود التالي عله يفي بالغرض (مع شرح لكل سطر في الكود ليسهل عليك تتبع الكود وفهمه والتعديل عليه)
عرض الإجابة
تفضل الكود التالي عله يفي بالغرض (مع شرح لكل سطر في الكود ليسهل عليك تتبع الكود وفهمه والتعديل عليه)
Sub Test()
'متغير ليحمل رقم الصف في كل حلقة تكرارية
Dim r As Long
'متغير لمعرفة رقم آخر صف فيه بيانات في العمود العاشر
Dim lr As Long
'متغير ليحمل رقم الصف للخلية التي لونها أصفر والتي سيتم فيها الجمع
Dim m As Long
'المتغير يحمل رقم آخر صف به بيانات وهو في المثال الصف رقم 55
lr = Cells(Rows.Count, "J").End(xlUp).Row
'حلقة تكرارية من أول صف في أول جدول وحتى آخر صف مع التخطي بمقدار 14
'والرقم 14 هو عدد صفوف الجدول والصفوف الفارغة التي تليه
For r = 5 To lr Step 14
'طباعة رقم الصف في النافذة الفورية للتأكد من أن قيمة المتغير
'هي رقم أول صف في كل جدول
Debug.Print "r = " & r
'يتم معرفة رقم الصف الذي سيتم الجمع فيه بناءً على قيمة المتغير
'في الحلقة التكرارية فعلى سبيل المثال في أول حلقة تكرارية قيمة
'المتغير تساوي 5 لذا فإن الرقم 5 إذا أضفنا عليه 10 سنصل إلى
'الخلية التي نريد الجمع فيها
m = r + 10
Debug.Print "m = " & m
Debug.Print "-------"
'كل الأسطر السابقة داخل الحلقة التكرارية لتوضيح المسألة لك
'الآن نبدأ في وضع المعادلة التي تقوم بعملية الجمع
'الخلية التي ستوضع فيها نتيجة الجمع هي الخلية في العمود العاشر
'في الصف المشار إليه حسب كل جدول
'حيث يتم الإشارة للنطاق بدايةً من الصف الأول لكل جدول وحتى آخر صف فيه
'لذا قمنا بوضع إضافة لأول رقم للصف مضافاً إليه 8 لأن عدد صفوف الجدول 9
'وفي النهاية بعد الإشارة نقوم بتحديد ما نريد أن نقوم به وهو الجمع باستخدام
'Application.Sum
Cells(m, 10).Value = Application.Sum(Range("J" & r & ":J" & r + 8))
Next r
End Sub
أعجبني أعجبك هذاإلغ اعجابي 0