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

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

قام بنشر

المطلوب

فى السطر رقم 10 مجموعة قيم مختلفة فى عدة أعمدة

المطلوب أن يتم تظليل الخلايا بالأعمدة فى مدى معين وليكن من السطر الـ 11 إلى السطر 2000 فى الأعمدة رقم 7 و 9 و 11 و 13 و 14 و 16 و 19 و 22 مثلاً بلون برتقالى إذا كانت قيمة الخلية اقل من قيمة الخلية التى فى السطر 10 فى نفس العمود كذلك يتم التظليل فى حالة وضع حرف غ فى الخلايا داخل النطاق

على أن يكون الكود بدون زر أى يعمل أوتوماتيك بمجرد وضع القيمة فى الخلية مثل التنسيق الشرطى على أساس أن تكون جميع الخلايا فى النطاق مظللة باللون البرتقالى على إعتبار أنها خالية فتكون قيمتها أقل من القيمة التى فى نفس العمود فى السطر 10 فإذا وضعت فى الخلية قيمة أكبر من أو تساوى القيمة فى السطر 10 بنفس العمود يختفى التظليل

ولو يصعب تحديد نفس اللون لتنسيق الشرطين ( غ ) و الأرقام الأقل فلنجعل التظليل البرتقالى للخلايا بالأرقام واللون الأحمر لحرف غ

أتعشم أن يكون الطلب واضحاً

قام بنشر

أستاذي ومعلمي (يوسف ) أعتقد ممكن يكون هذا أكثر إفادة وأكثر تكاملا من المرفق السابق لأنه ينسق رأس العمود الذي يحتوي علي الشرط مع تنسيق العمود

قام بنشر

أستاذي ومعلمي (يوسف ) أعتقد ممكن يكون هذا أكثر إفادة وأكثر تكاملا من المرفق السابق لأنه ينسق رأس العمود الذي يحتوي علي الشرط مع تنسيق العمود

تنسيق شرطى لأعمدة مع تنسيق رؤووس الأعمدة.rar

قام بنشر

الأستاذ / أبو حنين

والأستاذ عبد الله المجرب والأستاذ محمود وكذلك الأستاذ يوسف

أنتم الذين دائما رائعون

بارك الله فيكم جميعا

تقبلوا شكري وتحياتي

تلميذكم الشهابي

قام بنشر

أخي وصديقي العزيز ( الشهابي ) لفظ أستاذ منك لاينطبق علي فنحن علي درب العلم نحبو ولقد تعلمت الكثير منك

فأعمالك تنم علي عقلية متفتحة وذكية تتطوع المعلومة لخدمة زملائة في جد وأجتهاد بارك الله فيك وأدام المعروف والمحبة بيننا أمين

قام بنشر

اللهم بارك فيكم إخوانى وأساتذتى الأجلاء

جارى إستكشاف الدرر التى تفضلتم بإرسالها وإن كنت أحب أن يكون العمل بالكود نظراً لأن حجم الملف قارب على الـ 30 ميجا والتنسيقات الشرطية ستضاعف من حجمه

الف شكر مقدماً وجارى المتابعة

قام بنشر

أستاذنا القدير / يوسف عطا

لو تريدها من خلال التنسيق الشرطي بدون أكواد

إليك هذا الملف

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

قام بنشر

بعد إذن أساتذتي الأفاضل ( الشهابي ) و( أبو حنين )

أستاذي ومعلمي ( يوسف ) أتمني من كل قلبي أن يكون المطلوب

معادلاتك دائماً تبهرنى يا محمود بك

ربنا يزيدك من العلم ويجعلك عوناً لكل محتاج

تمنياتى لك بالتوفيق دائماً

قام بنشر

الاخوة الكرام

الشهابي

ابوحنين

محمود

بارك الله فيكم على هذا العطاء الكريم

نورت الموضوع أخى عبدالله

وأنت دائماً صاحب واجب

وكنت أتوقع أن تثرى الموضوع بكود آخر يحقق المطلوب

من باب تعدد طرق الحل

أتمنى أن أراك دائماً تنير المنتدى بمشاركاتك الجميلة

وأرجو أن تكون أحوالك تمام التمام وأن يكون سبب إقلالك بالمشاركات حالياً مجرد مشغوليات العمل وليس شئ آخر

طمنا عليك بإستمرار يا غالى

قام بنشر

أستاذي ومعلمي (يوسف ) أعتقد ممكن يكون هذا أكثر إفادة وأكثر تكاملا من المرفق السابق لأنه ينسق رأس العمود الذي يحتوي علي الشرط مع تنسيق العمود

بالفعل محمود بك

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

اسأل الله لك التوفيق الدائم

قام بنشر

جرب اخي يوسف المرفق

أخونا الغالى أبو حنين

بالفعل أحتاج أن يكون العمل عن طريق الكود

ولكن

الكود الذى أرفقته حضرتك لى فيه ملاحظتين

1. أنه لم يشر إطلاقاً لحالة وضع حرف غ فى الخلية

2. أنه يظلل القيم الأعلى من قيم السطر 10 والمطلوب العكس أى يظلل القيم الأقل من قيمة الخلية فى السطر 10

موضوع الأكبر والأقل أعتقد يتم تظبيطه عن طريق قلب علامة أكبر من إلى علامة أصغر من فى السطر التاسع من الكود هل هذا صحيح أم لا ؟

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

قام بنشر

أستاذي ومعلمي العظيم ( يوسف ) دائما تغمرني بمدح لاأستحقة لأن هذا كله نتاج تعليمكم وأن يقدم التلميذ عمل لأستاذة فهذا علي سبيل الأمتحان وإن يثني عليه أستاذة فهذه شهادة نجاحة وكرم وتواضع من أستاذه بارك الله فيك أستاذي وجعل ثناءك هذا في ميزان حسناتك

  • Like 3
قام بنشر

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

كما ذكر اخي الاستاذ أبو حنين بان الكود سيكون بطئ اذا تم التطبيق على كامل النطاق المطلوب , لذا الكود التالي يعمل فقط على الخلايا المتغيرة في النطاق المطلوب


Private Sub Worksheet_Change(ByVal Target As Range)

Dim Rn As Range, cl As Range

Set Rn = Intersect(Target, Range("G11:G2000,I11:I2000,K11:K2000,M11:M2000,N11:N2000,P11:P2000,S11:S2000,V11:V2000"))

If Not Rn Is Nothing Then

Rn.Interior.ColorIndex = xlNone

For Each cl In Rn

If cl = "غ" Or cl < Cells(10, cl.Column) Then cl.Interior.ColorIndex = 44

Next

End If

Set Rn = Nothing

End Sub

ارجوا ان يكون المطلوب

في أمان الله

قام بنشر

وهنا كود يعمل على كامل النطاق


Private Sub Worksheet_Change(ByVal Target As Range)

Dim Rn As Range, cl As Range

Set Rn = Range("G11:G2000,I11:I2000,K11:K2000,M11:M2000,N11:N2000,P11:P2000,S11:S2000,V11:V2000")

If Not Intersect(Target, Rn) Is Nothing Then

Application.ScreenUpdating = False: Application.EnableEvents = False

Rn.Interior.ColorIndex = xlNone

For Each cl In Rn

If cl <> "" And (cl = "غ" Or cl < Cells(10, cl.Column)) Then

If cl.Interior.ColorIndex <> 44 Then cl.Interior.ColorIndex = 44

End If

Next

Application.EnableEvents = True: Application.ScreenUpdating = True

End If

Set Rn = Nothing

End Sub

قام بنشر (معدل)

أخى الخالدى

أشكرك

كلا الكودين الذين تفضلت بكتابتهما يعملان جيداً

ولى عندك طلبين لو لا أضايقك بهما

1. شرح الفرق بينهما

2. ما الذى يجب تغييره فيهما لكى يكون لحرف غ لون آخر ؟؟

وشكراً لكرمك

تم تعديل بواسطه يوسف عطا
قام بنشر

عذار اخي يوسف لتأخري بالرد عليك وذلك بسبب ظروف عملي

لم توضح الفرق من اي ناحية

فالكود الاول سريع ويقوم فقط بتلوين الخلايا التي تم فيها التغير في النطاق المحدد(الاعمدة المحددة) ويعاب عليه انه لن يقوم بتلوين الخلايا التي تحقق الشرط قبل وضع الكود في حدث الورقة.

الكود الثاني بطئ ويقوم بتلوين كل الخلايا في النطاق التي حدث فيها تغير ام لم يحدث فيها تغير (اي اعادة تحديث الوان كل خلايا النطاق)

ايضا هناك عيب في الكود الاول والثاني وهو عدم قيام الكود بالتنفيذ عند تغير قيم خلايا النطاق بواسطة معادلات

-------------------

الاكود بعد التعديل لكى يكون لحرف غ لون آخر

الكود الاول


Private Sub Worksheet_Change(ByVal Target As Range)

Dim Rn As Range, cl As Range

Set Rn = Intersect(Target, Range("G11:G2000,I11:I2000,K11:K2000,M11:M2000,N11:N2000,P11:P2000,S11:S2000,V11:V2000"))

If Not Rn Is Nothing Then

Rn.Interior.ColorIndex = xlNone

For Each cl In Rn

If cl = "غ" Then

cl.Interior.ColorIndex = 42

Else

If cl < Cells(10, cl.Column) Then cl.Interior.ColorIndex = 44

End If

Next

End If

Set Rn = Nothing

End Sub

الكود الثاني

Private Sub Worksheet_Change(ByVal Target As Range)

Dim Rn As Range, cl As Range

Set Rn = Range("G11:G2000,I11:I2000,K11:K2000,M11:M2000,N11:N2000,P11:P2000,S11:S2000,V11:V2000")

If Not Intersect(Target, Rn) Is Nothing Then

Application.ScreenUpdating = False: Application.EnableEvents = False

For Each cl In Rn

If cl = "غ" Then

If cl.Interior.ColorIndex <> 42 Then cl.Interior.ColorIndex = 42

Else

If cl <> "" And cl < Cells(10, cl.Column) Then

If cl.Interior.ColorIndex <> 44 Then cl.Interior.ColorIndex = 44

Else

If cl.Interior.ColorIndex <> xlNone Then cl.Interior.ColorIndex = xlNone

End If

End If

Next

Application.EnableEvents = True: Application.ScreenUpdating = True

End If

Set Rn = Nothing

End Sub

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