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

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

قام بنشر

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

أخواني الأعضاء والخبراء في الأكسل

أريد أعمل Conditional Formatting لملف اكسل

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

أشرح لكم الحالات لتكونوا معاي في الصورة

الحالة الأولى:

إذا كان الرقم أكبر من الرقم الموجود في الخلية التي قبله يظهر الرقم باللون الأخضر

الحالة الثانية

إذا كان الرقم أصغر من الرقم الموجود في الخلية التي قبله يظهر الرقم باللون الأحمر

الحالة الثالثة :

إذا كان الرقم أكبر من الرقم الموجود في الخلية الأولى ( بغض النظر عن الخلية التي قبلها ) فإن الخلفية لا تتغير لونها

الحالة الرابعة :

إذا كان الرقم أصغر من الرقم الموجود في الخلية الأولى ( بغض النظر عن الخلية التي قبلها ) فإن الخلفية تتغير لونها إلى السماوي

وبرفق لكم صورة للتوضيح

وبتشوفون أن نصف المشكلة موجودة في الخلية F1

و F1 حققت الشرط الأول وهو أنه أكبر من الرقم الذي قبلة

ولم يحقق الشرط الرابع وهو أنه أقل من الرقم في الخلية الأولى وهي A1

post-15851-1163448048_thumb.jpg

قام بنشر
شاهد المرفق،

شكرا لك أخي علي

على المجهود الطيب

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

نأخذها وحده وحده

الصف الثاني

A2 = 80

B2 = 45 لون الخط أحمر لأنه أقل من A2 وهذا صح وأيضا الخلفية سماوي لأنه أقل من A2 وهذا أيضا صح

أما C2 فلون الخط أخضر لأنه أكبر من B2 وهذا صح أما الخلفية فالمفروض أن تكون ملونه لأن 65 أقل 80 ( أو C2 أقل من A2 )

وأيضا نفس المشكلة في D2 و F2 حيث أن شرط الخط تحقق ولم تحقق شرط الخلفية لأنها أقل من A2

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

فجزاءكم الله كل خير

post-15851-1163535847_thumb.jpg

قام بنشر

أتمنى أن أكون قد توصلت إلى ما تريد،

Private Sub Worksheet_Change(ByVal Target As Range)

TC = Target.Column
TR = Target.Row

If TC > 1 And TC < 7 And TR < 5 Then

If Target > Cells(TR, 1) Then
Target.Interior.ColorIndex = xlNone
Target.Font.ColorIndex = 10

ElseIf Target < Cells(TR, 1) Then
Target.Interior.ColorIndex = 34
Target.Font.ColorIndex = 3

ElseIf Target > Cells(TR, TC - 1) Then
Target.Interior.ColorIndex = 19
Target.Font.ColorIndex = 10

ElseIf Target < Cells(TR, TC - 1) Then
Target.Interior.ColorIndex = xlNone
Target.Font.ColorIndex = 3

End If
End If
End Sub

شاهد المرفق،

Conditional_Formatting.rar

قام بنشر

صراحة الواحد يخجل شو يقول لكم

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

المرة هذه تحقق الشرط الرابع وهو

إذا كانت الخلية ( أي خلية ولكن في نفس السطر) أقل من الخليه الأولى وهي A1 فإن اللون يتغير. أما إذا كانت أكبر فلا يتغير..

ولكن المشكلة إلي ظهرت الأن هي أن لون الخط لا يتغير بالشكل المطلوب مع الخلية التي تسبقها. وهي أن إذا كان الرقم أكبرمن الرقم الموجود في الخلية التي تسبقها فلون الخط ( ليس الخلية) يكون أخضر . أما إذا كان اصغر فيكون أحمر.

قام بنشر

هذا الشرط متحقق .. شاهد الخلية رقم C1 و D1 و D4 من المرفق الموجود في المشاركة السابقة،

قام بنشر

أسمحلي أخوي علي شوي أتعبك معاي

انا رسمت لك كيفية العلاقة بتغيير اللوان في الخط وفي الخلية وعلى ما يعتمد.

فجزاءك الله كل خير

بخصوص ردك

شرط تغير لون الخط لم يتحقق.

وهذه صورة توضيحية

post-15851-1164008655_thumb.jpg

قام بنشر

الآن فقط أتضح لي ماتريد بالضبط .. وكما ذكرت في الكود السابق كان هناك خلل في تلوين خلفية الخلية وعدم تلوينها عندما يكون لون الخط أخضر .. وأصبح الكود بعد التعديل هو التالي:

Private Sub Worksheet_Change(ByVal Target As Range)

TC = Target.Column
TR = Target.Row

If TC > 1 And TC < 7 And TR < 5 Then

If Target > Cells(TR, 1) Then
Target.Interior.ColorIndex = 19
Target.Font.ColorIndex = 10

ElseIf Target < Cells(TR, 1) Then
Target.Interior.ColorIndex = 34
Target.Font.ColorIndex = 3

ElseIf Target > Cells(TR, TC - 1) Then
Target.Interior.ColorIndex = xlNone
Target.Font.ColorIndex = 10

ElseIf Target < Cells(TR, TC - 1) Then
Target.Interior.ColorIndex = xlNone
Target.Font.ColorIndex = 3

End If
End If
End Sub

شاهد المرفق،

Conditional_Formatting.rar

قام بنشر
الآن فقط أتضح لي ماتريد بالضبط .. وكما ذكرت في الكود السابق كان هناك خلل في تلوين خلفية الخلية وعدم تلوينها عندما يكون لون الخط أخضر .. وأصبح الكود بعد التعديل هو التالي:

Private Sub Worksheet_Change(ByVal Target As Range)

TC = Target.Column
TR = Target.Row

If TC > 1 And TC < 7 And TR < 5 Then

If Target > Cells(TR, 1) Then
Target.Interior.ColorIndex = 19
Target.Font.ColorIndex = 10

ElseIf Target < Cells(TR, 1) Then
Target.Interior.ColorIndex = 34
Target.Font.ColorIndex = 3

ElseIf Target > Cells(TR, TC - 1) Then
Target.Interior.ColorIndex = xlNone
Target.Font.ColorIndex = 10

ElseIf Target < Cells(TR, TC - 1) Then
Target.Interior.ColorIndex = xlNone
Target.Font.ColorIndex = 3

End If
End If
End Sub

شاهد المرفق،

أخ علي

صراحة انا منحرج جدا منك

ولكن لازات المشكلة موجودة

الخلية تتفاعل مع الشروط ولكن الخط فلا

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

إذا كان أكبر يكون الخط باللون الأخضر

وإذا كان أصغر يكون باللون الأحمر

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

وجزاءك الله كل خير

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

جميع الشروط تنطبق بشكل صحيح.

مثلاً .. الخلية E1 قيمتها 19 والخلية F1 قيمتها 20 ..

يعني أن الخلية F1 أكبر من الخلية التي قبلها وهي E1 .. ولذا ظهر لون خلفية الخلية F1 أبيض ولون الخط أخضر ألم يكن هذا ما طلبته؟؟!!!

مثال آخر .. الخلية C2 قيمتها 91 .. والخلية D2 قيمتها 80 ..

يعني أن الخلية D2 أصغر من الخلية التي قبلها وهي C2 ولذا ظهر لون خلفية الخلية D2 أبيض ولون الخط أحمر .. ألم يكن هذا ما طلبته؟؟!!!!!!!!

تم تعديل بواسطه علي السحيب
قام بنشر
جميع الشروط تنطبق بشكل صحيح.

مثلاً .. الخلية E1 قيمتها 19 والخلية F1 قيمتها 20 ..

يعني أن الخلية F1 أكبر من الخلية التي قبلها وهي E1 .. ولذا ظهر لون خلفية الخلية F1 أبيض ولون الخط أخضر ألم يكن هذا ما طلبته؟؟!!!

مثال آخر .. الخلية C2 قيمتها 91 .. والخلية D2 قيمتها 80 ..

يعني أن الخلية D2 أصغر من الخلية التي قبلها وهي C2 ولذا ظهر لون خلفية الخلية D2 أبيض ولون الخط أحمر .. ألم يكن هذا ما طلبته؟؟!!!!!!!!

أسمح لي أخوي علي شوي أغلبك معاي

برفق لك الصورة من الملف وبتشوف أن الخلية حققت الشروط ولكن الخط لم يحقق

مثال

الخلية D1 أكبر من الخلية الأولى الأساسية وهي A1 فلم يتغير لون الخلية ( فتحقق الشرط )

ولكنها أصغر من الخلية التي تسبقها وهي C1 فالمفروض يكون لون الخط أحمر وليس أخضر ( لم يحقق الشرط )

مثال ثاني

الخلية D3 أصغر من الخلية الأولى وهي A1 فتغير لون الخلية ( تحقق الشرط )

ولكنها أكبر من الخلية التي قبلها ولون الخط لازال أحمر ( فلم يحقق الشرط )

واعتذر منك مرة ثانية لأني غلبتك معاي

فجعله الله في ميزان حسناتك بما تقوم به من مجهود من أجل أخوانك لتعليمهم

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