كيفية استخدام وظيفة المجموع الفرعي في vba (مع أمثلة)


يمكنك استخدام الدالة SUBTOTAL في Excel لحساب الإحصائيات الإجمالية للخلايا المرئية فقط في الورقة.

يمكنك استخدام بناء الجملة الأساسي التالي في VBA لاستخدام الدالة SUBTOTAL:

 Sub FindSubtotal()
Range(" A16 ") = WorksheetFunction.Subtotal(9, Range(" B2:B11 "))
End Sub

يحسب هذا المثال بالذات مجموع القيم في الخلايا المرئية في النطاق B2:B11 ويعرض النتيجة في الخلية A16 .

لاحظ أن الوسيطة الأولى للأسلوب Subtotal تحدد طريقة التجميع التي سيتم استخدامها حيث:

  • 1 : متوسط
  • 2 : الحساب
  • 3 : الحساب
  • 4 : الحد الأقصى
  • 5 : الحد الأدنى
  • 6 : المنتج
  • 7 : ستيف
  • 8 : ستديف
  • 9 : مجموع
  • 10 : حكم الفيديو المساعد
  • 11 : فارب

يوضح المثال التالي كيفية استخدام الأسلوب Subtotal في VBA عمليًا.

مثال: كيفية استخدام الإجمالي الفرعي في VBA

لنفترض أن لدينا مجموعة البيانات التالية في Excel والتي تحتوي على معلومات حول العديد من لاعبي كرة السلة:

لنفترض الآن أننا قمنا بتطبيق عامل تصفية لإظهار الصفوف التي يساوي فيها الفريق A أو C فقط:

يمكننا إنشاء الماكرو التالي لحساب مجموع الخلايا المرئية في عمود النقاط وعرض النتائج في الخلية A16 :

 Sub FindSubtotal()
Range(" A16 ") = WorksheetFunction.Subtotal(9, Range(" B2:B11 "))
End Sub

عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:

لاحظ أن الخلية A16 تحتوي على القيمة 168 .

يخبرنا هذا أن مجموع الخلايا المرئية في عمود النقاط هو 168.

يمكننا أيضًا تغيير قيمة الوسيطة الأولى لطريقة الإجمالي الفرعي لحساب مقياس مختلف.

على سبيل المثال، يمكننا استخدام القيمة 1 لحساب متوسط الخلايا المرئية في عمود النقاط:

 Sub FindSubtotal()
Range(" A16 ") = WorksheetFunction.Subtotal(1, Range(" B2:B11 "))
End Sub

عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:

لاحظ أن الخلية A16 تحتوي على القيمة 24 .

يخبرنا هذا أن متوسط الخلايا المرئية في عمود النقاط هو 24.

ملاحظة : يمكنك العثور على الوثائق الكاملة لأسلوب VBA Subtotal هنا .

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:

فبا: كيفية إضافة القيم في نطاق
فبا: كيفية حساب متوسط قيمة النطاق
فبا: كيفية حساب عدد الصفوف في النطاق

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *