أكاديمية الصقر للتدريب

لوحة التميز الأسبوعي
العضو المتميز المشرف المتميز المراقب المتميز المدير المتميز الموضوع المتميز القسم المتميز
العضو المتميز المشرف المتميز المراقب المتميز المدير المتميز الموضوع المتميز القسم المتميز
هانى على ali mohamed ali-- لا تميز خلال هذه الفترة لا تميز خلال هذه الفترة منع ادخال البيانات بعدة شروط اكسيل اسئله واجابات


أهلا وسهلا بك زائرنا الكريم في أكاديمية الصقر للتدريب، لكي تتمكن من المشاركة ومشاهدة جميع أقسام المنتدى وكافة الميزات ، يجب عليك إنشاء حساب جديد بالتسجيل بالضغط هنا أو تسجيل الدخول اضغط هنا إذا كنت عضواً .





الدالة المعرفة ColorEA لجمع الخلايا الملونة

بسم الله والحمد لله والصلاة والسلام على رسول الله أهلا ومرحبا بكم أخوانى الكرام من جديد موضوع اليوم هو عن الدالة المعرفة ..



13-10-2018 12:19 صباحا
Eslam Abdullah
مشرف على لغات برمجة آخرى
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 03-10-2017
رقم العضوية : 852
المشاركات : 1580
الدولة : مصر
الجنس : ذكر
تاريخ الميلاد : 1-9-1995
الدعوات : 5
يتابعهم : 0
يتابعونه : 89
قوة السمعة : 10845
موقعي : زيارة موقعي
عدد الإجابات: 6
 offline 

بسم الله والحمد لله والصلاة والسلام على رسول الله
أهلا ومرحبا بكم أخوانى الكرام من جديد
موضوع اليوم هو عن الدالة المعرفة ColorEA حيث EA اختصار لاسمى يعنى Eslam Abdullah biggrin2


 وهو استكمال لموضوعين من أستاذيا الأحباء والذين لهم الفضل على بعد الله لكل انجازاتى
وكان موضوع أستاذى الحبيب حسام خطاب لمشاهدة الروابط يلزمك التسجيل في أكاديمية الصقر للتدريب
وموضوع أستاذى الحبيب ياسر خليل لمشاهدة الروابط يلزمك التسجيل في أكاديمية الصقر للتدريب


أما موضوع اليوم فيختلف من ناحية التنسيق الشرطى
كل الدوال المعرفة التى شهدتها إلى الآن لا تتأثر بوجود التنسيق الشرطى وبالتالى لا تقوم بإحصائها
وهذا كان سبب قيامى ببرمجة الدالة ColorEA وتكون النتيجة المتوقعة كما بالصورة التالية

MTAwOTY1MQ8383001
والآن نتاول طريقة عمل الدالة ، أولا بناء الدالة ColorEA كالتالى
=ColorEA(range, criteria, [format], [value])‎

كما ترون أحلوين الدالة تتكون من 4 باراميترات
اللى عليه أقواس مربعة بالشكل دا [] معناه انه اختيارى
يعنى نقدر نقول ان اول 2 باراميتر اجبارى واخر 2 باراميتر اختيارى

وصف بناء الدالة بإختصار ، والوصف موجود بشكل أكثر تفسيرا بملف العمل
range معناه النطاق المراد الجمع منه
criteria الشرط أى اللون المراد الجمع على أساسه
format التنسيق المراد الجمع على أساسه
1 تنسيق يدوى
2 تنسيق شرطى
3 | ignore لأى تنسيق
value طريقة الجمع
False | 0 جمع عدد الخلايا
TRUE | 1 | ignore جمع قيم الخلايا


الأن مثال عملى على الدالة هكتفى بمثال 1 هنا
والباقى تشوفه بعد تحميل ملف العمل

جمع قيم الخلايا ذات اللون الأصفر بالتنسيق الشرطى فقط
(هنا الصف رقم 4 تنسيق يدوى وأول 3 صفوف تنسيق شرطى)
c B A  
              5                            5                            18                      1        
              4                            4                                                   2        
              3                            3                        3        
              10                            20                        4        

هن المجموع 18 وكانت صياغة الدالة كالتالى
=ColorEA($B$1:$C$4,$A$2,2)

أو كالتالى
=ColorEA($B$1:$C$4,$A$2,2,1)

وبكدا انتهى شرح الدالة
الكود المستخدم للدالة

Function ColorEA(rng As Range, cel As Range, Optional f As Byte = 3, Optional v As Boolean = 1) As Double
'Developer: Eslam Abdullah
'=ColorEA($E$17:$F$20,C21,,0) >> Count
'=ColorEA($E$17:$F$20,C21,,1) >> SUM
'-------------------------------------
    Dim c As Range, r As Range, rf As Range, chk$, result#, indx!, i%, rw%, arr()
    ReDim arr(1 To Application.Max(rng.FormatConditions.Count, 1))
    Application.Volatile
    
    Select Case f
        Case 1
            For Each c In rng
                If c.Interior.Color = cel.Interior.Color Then result = result + IIf(v, Val(c.Value), 1)
            Next c
            
        Case 2, 3
            For i = 1 To rng.FormatConditions.Count
                If rng.FormatConditions(i).Interior.Color = cel.Interior.Color And rng.FormatConditions(i).Type = 2 Then rw = rw + 1: arr(rw) = i
            Next i
            If rw = 0 And f = 2 Then GoTo 1
            
            For Each c In rng
                If c.Interior.Color = cel.Interior.Color And f = 3 Then result = result + IIf(v, Val(c.Value), 1)
                For i = 1 To rw
                        Set rf = Range(rng.FormatConditions(arr(i)).AppliesTo.Address)
                        Set r = Intersect(c, rf)
                        If r Is Nothing Then Exit For
                        
                        indx = (c.Row - rf.Row) * rf.Columns.Count + (c.Column - rf.Column) + 1
                        chk = Application.ConvertFormula(rng.FormatConditions(arr(i)).Formula1, xlA1, xlR1C1)
                        chk = Application.ConvertFormula(chk, xlR1C1, xlA1, , ActiveCell.Resize(rf.Rows.Count, rf.Columns.Count).Cells(indx))
                        If Evaluate(chk) Then result = result + IIf(v, Val(c.Value), 1)
                Next i
            Next c
        Case Else: result = CVErr(xlErrNum)
    End Select
1:  ColorEA = result
End Function

طبعا مع تحميل ملف العمل هتوضح الفكره أكثر بالأمثله والتطبيق الفعلى داخل ورقة العمل
لتحميل كود وشرح الدالة وملف العمل لمشاهدة الروابط يلزمك التسجيل في أكاديمية الصقر للتدريب

ملاحظة هامة: الدالة تعمل مع النوع الثانى للتنسيق الشرطى فقط وهو الخاص بالمعادلات ، ونمط المرجع A1
تم تطوير الدالة وإصلاح بعض الأخطاء وتحسين أدائها فى السرعة بتاريخ "28/12/2018"

كان معكم ومعنا ومعاهم برضوا أخوكم فى الله اسلام عبدالله biggrin2
دمتم فى حفظ الله ورعايته 81











 
 


13-10-2018 06:16 صباحا
مشاهدة مشاركة منفردة [1]
abdulwahed catran
عضو فعال
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 27-08-2017
رقم العضوية : 219
المشاركات : 169
الجنس : ذكر
تاريخ الميلاد : 10-2-1968
يتابعهم : 0
يتابعونه : 2
قوة السمعة : 280
 offline 
look/images/icons/i1.gif الدالة المعرفة ColorEA لجمع الخلايا الملونة
جعلها الله في ميزان حسناتكم

13-10-2018 06:38 صباحا
مشاهدة مشاركة منفردة [2]
الصقر
مدير المنتدى
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 2
المشاركات : 1824
الجنس : ذكر
الدعوات : 21
يتابعهم : 0
يتابعونه : 748
قوة السمعة : 19987
موقعي : زيارة موقعي
عدد الإجابات: 2
 offline 
look/images/icons/i1.gif الدالة المعرفة ColorEA لجمع الخلايا الملونة

شغل خبراء يا حبيبى ربنا يوفقك 
ومن نجاح الى نجاح
123


توقيع :الصقر

اخى العضو الكريم
اذا كنت ترى ان المنتدى مفيد لك
فكن سفيرا لنا بدعوة الاخرين للانضمام معنا
فالدال على الخير كفاعله


13-10-2018 07:18 صباحا
مشاهدة مشاركة منفردة [3]
sameh_140
عضو
معلومات الكاتب ▼
تاريخ الإنضمام : 28-09-2017
رقم العضوية : 721
المشاركات : 1
الجنس : ذكر
تاريخ الميلاد : 16-4-1968
يتابعهم : 0
يتابعونه : 1
قوة السمعة : 12
 offline 
look/images/icons/i1.gif الدالة المعرفة ColorEA لجمع الخلايا الملونة
goooooooooooooooooooooooooooooooooooooooooooooood

13-10-2018 07:38 صباحا
مشاهدة مشاركة منفردة [4]
موسى محمد
عضو مشارك
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 22-08-2017
رقم العضوية : 44
المشاركات : 20
الجنس : ذكر
تاريخ الميلاد : 9-1-1976
الدعوات : 1
يتابعهم : 0
يتابعونه : 1
قوة السمعة : 79
 offline 
look/images/icons/i1.gif الدالة المعرفة ColorEA لجمع الخلايا الملونة
ممتاز جدا
جزاكم الله خيرا ونفع الله بكم 

13-10-2018 10:08 صباحا
مشاهدة مشاركة منفردة [5]
YasserKhalil
مراقب عام
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10444
الجنس : ذكر
تاريخ الميلاد : 1-10-1978
الدعوات : 24
يتابعهم : 1
يتابعونه : 535
قوة السمعة : 36522
عدد الإجابات: 254
 offline 
look/images/icons/i1.gif الدالة المعرفة ColorEA لجمع الخلايا الملونة
بارك الله فيك أخي الحبيب إسلام وجزاك الله خيراً
وجعل ما تقدمه في ميزان حسناتك يوم القيامة
عمل رائع رائع رائع .. أحسنت وأبدعت

13-10-2018 10:23 صباحا
مشاهدة مشاركة منفردة [6]
Eslam Abdullah
مشرف على لغات برمجة آخرى
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 03-10-2017
رقم العضوية : 852
المشاركات : 1580
الدولة : مصر
الجنس : ذكر
تاريخ الميلاد : 1-9-1995
الدعوات : 5
يتابعهم : 0
يتابعونه : 89
قوة السمعة : 10845
موقعي : زيارة موقعي
عدد الإجابات: 6
 offline 
look/images/icons/i1.gif الدالة المعرفة ColorEA لجمع الخلايا الملونة
مشكور مروركم الكريم جميعا أخوانى وأساتذتى الأحباء
ومشكور تقديركم الغالى 81




الكلمات الدلالية
الدالة ، المعرفة ، ColorEA ، لجمع ، الخلابا ، الملونة ،


 










اخلاء مسئولية: يخلى منتدى أكاديمية الصقر للتدريب مسئوليته عن اى مواضيع او مشاركات تندرج داخل الموقع ويحثكم على التواصل معنا ان كانت هناك اى إنتهاكات تتضمن اى انتهاك لحقوق الملكية الفكرية او الادبية لاى جهة - بالتواصل معنا من خلال نموذج مراسلة الإدارة .وسيتم اتخاذ الاجراءات اللازمة.
سياسة النشر: التعليقات المنشورة لا تعبر عن رأي منتدى أكاديمية الصقر للتدريب ولا نتحمل أي مسؤولية قانونية حيال ذلك ويتحمل كاتبها مسؤولية النشر.

الساعة الآن 11:51 مساء