اذهب الي المحتوي
أوفيسنا

ارجو تعديل بسيط فى كود جمع على حسب لون الخلية


zarouki2000

الردود الموصى بها

الاخ الفاضل رجب جاويش بارك الله فيك على سرعة المساعدة

للاسف المطلوب هو جمع الخلايا بلون معين و ليكن الاصفر 6 بشرط ان يكون ناتج عن تنسيق شرطى و ليس تلوين يدوى للخلية

بارك الله فيك و اتمنى ان اجد الحل سريعا لشدة حاجتى اليه

تم تعديل بواسطه zarouki2000
رابط هذا التعليق
شارك

السلام عليكم

جرب هذه المعادلة المركبه

إستخدامها كالتالي


=Ali_Cond(TAM;"";6)

المعيار الاول المدى المعيار الثاني رقم اللون المعيار الثالث شرط جمع الفارغه ام التي بها بيانات

Public Function Ali_Cond(ByVal My_r As Range, Cond As String, Nu_Colr As Long) As Long

Dim R As Range

Dim Ali_c As FormatConditions

Dim A_Dou As Double

A_Dou = 0

For Each R In My_r

Set Ali_c = R.FormatConditions

Select Case Ali_c(1).Interior.ColorIndex

	   Case Is = Nu_Colr And IIf(Cond = "", R.Text = Cond, R.Text > "")

	   If R.Interior.ColorIndex = Nu_Colr Then A_Dou = A_Dou + 1

End Select

Next

Ali_Cond = A_Dou

End Function

ارجو التجربه

تم تعديل بواسطه عباد
رابط هذا التعليق
شارك

الاخ الفاضل العبقرى ابو نصار بارك الله فيك تم تجربه المرفق و اعطى نتيجة عكس كل الاكواد التى جربتها سابقا و التى لم تعطى اى عدد لكن للاسف نتيجة خاطئة

اسف على الازعاج و جعله الله فى ميزان حسناتك

تم تعديل بواسطه zarouki2000
رابط هذا التعليق
شارك

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

تفضل اخى الفاضل مع الوضع فى الاعتبار حذفت بعض الاوراق لسهولة الرفه و باسورد الاكواد 77

انعم الله عليك بموفور الصحة و رغد العيش و جنة الفردوس

امييييييييييين

xx.zip

رابط هذا التعليق
شارك

اخي الفاضل zarouki2000

الظاهر نسخت الكود قبل التعديل الاخير

ملاحظة مسمى t ليس به اي خليه لونها اصفر

اذا نتيجة المعادلة بتكون = 0

انسخ الكود التالي او الذي في المشاركة السابقة

في انتظار ردك


Public Function Ali_Cond(ByVal My_r As Range, Cond As String, Nu_Colr As Long) As Long

Dim R As Range

Dim Ali_c As FormatConditions

Dim A_Dou As Double

A_Dou = 0

For Each R In My_r

Set Ali_c = R.FormatConditions

Select Case Ali_c(1).Interior.ColorIndex

	   Case Is = Nu_Colr And IIf(Cond = "", R.Text = Cond, R.Text > "")

	   If R.Interior.ColorIndex = Nu_Colr Then A_Dou = A_Dou + 1

End Select

Next

Ali_Cond = A_Dou

End Function

رابط هذا التعليق
شارك

الأخ الحبيب عباد

ممكن ترفق ملف كمثال للدالة التي قمت بها - بعد إذنك - لأني حاولت أجربها ولكنها لم تلفح معي بالمرة

رابط هذا التعليق
شارك

استاذنا ابو نصار تم نسخ الكود الاخير كما بالمرفق لكن عذرا اخى الحبيب فالنطاق ## t يحتوى على خليه لونها اصفر هى C29

لذا المفترض ان يكون نا تج الجمع هو 1 فى الخلية C41 ## التى بها المعادلة و ليس 0 و بالمثل للعمود المجاور له

xx.zip

رابط هذا التعليق
شارك

عذرا تأكدت من الدالة بها خطاء

جرب هذا التعديل


Public Function Ali_Cond(ByVal My_r As Range, Cond As String, Nu_Colr As Long) As Long

Dim R As Range

Dim F_A As WorksheetFunction

Dim Ali_c As FormatConditions

Dim A_Dou As Double

A_Dou = 0

Set F_A = Application.WorksheetFunction

Debug.Print F_A.CountA(My_r)

For Each R In My_r

Set Ali_c = R.FormatConditions

Select Case Ali_c(1).Interior.ColorIndex

		   Case Is = Nu_Colr And IIf(Cond = "", R.Text = Cond, R.Text <> "")

		   If F_A.CountA(My_r) = 0 And Cond = "" Then GoTo 0

		   If F_A.CountA(My_r) > 0 And Cond = "" Then GoTo 0

		   A_Dou = A_Dou + 1

End Select

0

Next

Ali_Cond = A_Dou

End Function

تم تعديل بواسطه عباد
رابط هذا التعليق
شارك

الأخ

zarouki2000

ما هو الناتج المرتقب للخلية C41؟

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

رابط هذا التعليق
شارك

أخي صاحب الموضوع

إذا بدت لك الأمور معقدة ، فغير طريقة تفكيرك

ما رأيك لو قمت بعمل معادلة بسيطة تغنيك عن كل هذا التعقيد

=COUNTIF($E$5:$E$35;"Holiday")

أو يمكنك أن تذكر لنا ما هو الشرط الذي على أساسه يعمل التنسيق الشرطي لديك ، ومن خلال الشرط يمكن حل المشكلة ببساطة شديدة

رابط هذا التعليق
شارك

الاخ ياسر بارك الله فيك حاولت بطرق عدة و اكواد مختلفة من منتديات اجنبية للاسف كله لم يلبى ما احتاج

اقرب الحلول الذى تقدم به الاخ ابو نصار انعم الله بموفوفر العلم لكن كما رايت فى المشاركات السابقه انه يحاول تعديل الكود حتى ينتج العدد الصحيح

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

و الله الموفق

رابط هذا التعليق
شارك

أخي صاحب الموضوع

إذا بدت لك الأمور معقدة ، فغير طريقة تفكيرك

ما رأيك لو قمت بعمل معادلة بسيطة تغنيك عن كل هذا التعقيد

=COUNTIF($E$5:$E$35;"Holiday")

أو يمكنك أن تذكر لنا ما هو الشرط الذي على أساسه يعمل التنسيق الشرطي لديك ، ومن خلال الشرط يمكن حل المشكلة ببساطة شديدة

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

رابط هذا التعليق
شارك

الاخ الفاضل ياسر لم اتعمد ان تكون ردى على مشاركتك غير واضح

كما هو مبين فى الملف المرفق التنسيق الشرطى عند اختيار كلمة Holiday ## فى اى خلية يتم تلوين الصف بأكمله باللون الاصفر

ما اريده هو جمع كل خليه لونها اصفر و خالية من اى محتوى يعنى لو خلية صفراء و بهها كلمة holiday # واخترت فيها انا اى شئ غير هذه الكلمة مفترض الا تعد

اتمنى لو لديك حل بديل ان شاكر ليك كل الشكر

رابط هذا التعليق
شارك

أخي ما هي الخلايا التي يمكن أن تدرج فيها كلمة Holiday؟

يمكن استخدام الدالة Countif كما أشرت في المشاركة رقم 21

ولو أمكن شرح مفصل والنتيجة المرجوة في أي خلية تريدها (أعتقد الخلية C41)...

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information