السلام عليكم و رحمة الله و بركاته
كما نعلم جميعا أن دوال العد في الإكسيل و التي عددها خمسة دوال :
تقوم بالعد بناء على قيمة الخلية و طبيعة محتواها و لا يوجد من هذه الدوال ما يقوم بعد الخلايا بناء على لونها, رغم حاجتنا لهذه المعادلة إلا أنها لم تضاف في معادلات الإكسيل, و لحل هذه النقطة نقوم بتعريف معادلة خاصة بها من خلال :
VBA
Visual Basic for Application
و هي تعرف بإسم
UDF
User Defined Function
و لعمل ذلك سنتبع الخطوات التالية :
- من شاشة الإكسيل سنقوم بالضغط على Alt + F11
- من تاب Insert نختار Module , و للإطلاع على الخطوات بشكل أكبر شرح تفصيلي لإضافة الكود
- و ستظر لنا الشاشة التالية :
هنا سنقوم بكتابة الكود التالي:
Function COUNTCOULREDCELLS(CriRange As Range, MCri As Range) As Long
Dim c As Range
Dim CountC As Long
Application.Volatile
For Each c In CriRange
If c.Interior.ColorIndex = MCri.Interior.ColorIndex Then
COUNTCOULREDCELLS = COUNTCOULREDCELLS + 1
End If
Next c
End Function
ستكون بالشكل التالي
وبعد كتابة الكود نقوم بإلاق شاشة البرمجة و العودة مرة أخرى لصفحة الإكسيل و ذلك بالضغط على Alt + F11
بعمل مثال بسيط كالتالي :
النقطة رقم 1 تمثل البيانات و التي تحتوي الخلايا الملونة
النقطة رقم 2 تمثل المعيار الذي سنحدده لعد الخلايا المشابهه
النقطة رقم 3 تمثل المعادلة التي قمنا ببرمجتها و تمثل الجزء الأول النطاق الي سنحدده و هو في مثالنا من $B$2:$B$10
و المتغير الثاني و يمثل المعيار و هو الخلية التي تحتوي اللون الذي سنقوم بالعد بناء عليه
=COUNTCOULREDCELLS($B$2:$B$10,D3)
لتحميل الملف من خلال الرابط من هنا
أتمنى أن تكون الفكرة قد إتضحت لكم.
دمتم في حفظ الله
يحيى حسين
Excel MVP


















Amman-Jabal Alhussin
5688546 6 962 (+)



