Image

عد الخلايا الملونة في الإكسيل


السلام عليكم و رحمة الله و بركاته 

كما نعلم جميعا أن دوال العد في الإكسيل و التي عددها خمسة دوال :

 تقوم بالعد بناء على قيمة الخلية و طبيعة محتواها و لا يوجد من هذه الدوال ما يقوم بعد الخلايا بناء على لونها, رغم حاجتنا لهذه المعادلة إلا أنها لم تضاف في معادلات الإكسيل, و لحل هذه النقطة نقوم بتعريف معادلة خاصة بها من خلال :
VBA
Visual Basic for Application
و هي تعرف بإسم 
UDF 
User Defined Function

و لعمل ذلك سنتبع الخطوات التالية : 

  1. من شاشة الإكسيل سنقوم بالضغط على Alt + F11 
  2. من تاب Insert  نختار Module , و للإطلاع على الخطوات بشكل أكبر شرح تفصيلي لإضافة الكود
  3. و ستظر لنا الشاشة التالية : 



هنا سنقوم بكتابة الكود التالي: 


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 





  • تعليقات بلوجر
  • تعليقات فيس بوك

2 التعليقات:

  1. معلومه ودالة جدا جميلة اشكرك استاذ يحيى

    لكن انا طبقت الخطوات معك

    وضبطت معي الحساب

    لكن اذا غيرت لون خانه لا يرضى ان يحسب الا بعد ان اعمال تحديث للخانه
    هل من طريقة للحساب تلقائي بعد التعديل مباشرة|؟؟

    ردحذف
  2. تحية طيبة يا كبير
    رائع جدا جدا كم أحتاج هذا الكود

    ملاحظة أستاذي ... الكود لا يعمل مع التلوين بالتنسيق الشرطي

    تحياتي

    ردحذف

شكرا على التعليق

Excel4Us