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

تنسيق خلية بناءً علي قيمة خلية أخرى


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

السلام عليكم 

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

بمعني اذا كان قيمة الخليف c1= احمد بذلك تكون الخلية d1 منسقة بطريقة انا اختارها لون الخط مثلا 

مشكورين 

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

49 دقائق مضت, zizo8400 said:

السلام عليكم 

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

بمعني اذا كان قيمة الخليف c1= احمد بذلك تكون الخلية d1 منسقة بطريقة انا اختارها لون الخط مثلا 

مشكورين 

اخى الكريم zizo8400

السلام عليكم بعد الأطلاع على تعليمات المنتدى

جرب المرفق التالى لعلة يكون المطلوب

abo_abary_ConditionalFomat.rar

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

اشكر حضرتك علي المساعة وجزاك الله خير  اخي ابوعبدالباري 

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

اريد عندما احذف كلمة احمد ترجع الخلية لطبيعتها مرة اخري 

جزاك الله خير 

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

7 دقائق مضت, zizo8400 said:

اشكر حضرتك علي المساعة وجزاك الله خير 

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

اريد عندما احذف كلمة احمد ترجع الخلية لطبيعتها مرة اخري 

جزاك الله خير 

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

abo_abary_ConditionalFomat.rar

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

أخي العزيز أبوعبد الباري

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

ملحوظة بالنسبة للكود المقدم في آخر مشاركة لك : ألا ترى أن الكود بهذا الشكل مرهق للملف لأنك اخترت أن يتم تنفيذ الكود بمجرد اختيار أي خلية ، الأفضل تحديد النطاق الذي يؤثر فيه الحدث

 

الأخ الحبيب سليم

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

 

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

برجاء تغيير اسم الظهور للغة العربية ، ويفضل إرفاق ملف معبر عن طلبك ..

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

مزيد من التفاصيل في الموضوع يجعل الموضوع أيسر للأخوة الكرام في تقديم الحل المناسب

 

تقبلوا تحياتي

 

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

شرح للكود

Private Sub Worksheet_Change(ByVal Target As Range)
' الكود هنا مبني على اساس التغيير في اي خلية بالصفحة
'C1 يضاف شرط   فقط اذا كانت الخلية المعنية بالامر هي

 If Target.Address = "$C$1" Then
 '       G1 اذا كانت الخلية الهدف  يقصد بها   تساوي الاسم المقصود الذي ذكر في
    My_name = Range("c1").Value
            If My_name = Cells(1, "g") Then
            ' يتم تغيير لون الخلفية للخلية المجاورة للون الاصفر
            Target.Offset(0, 1).Interior.ColorIndex = 6
            Else
            'اذا لم يكن ذلك   يكون لون الخلفية   عادي
            Target.Offset(0, 1).Interior.ColorIndex = xlColorIndexNone
        End If
   End If
End Sub

 

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

جزاكم الله خيراً أخي الحبيب سليم

شرح ممتاز ورائع ..هكذا يكون العمل :fff:

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

تقبل وافر تقديري واحترامي

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

اخي ابوعبدالباري جزاك الله كل خير وزادك الله علما ونفع بك 

ولكن تواجهني مشكله صغيرة وهي عدم القدرة علي نسخ او اللصق في الخلية c 

كما احب ان اشكر الاستاذ ياسر خليل 

رد علي سؤال الاستاذ ياسر اريد التأثير علي عدة خلاية او ناق محدد

تنسيق خلية بناء علي خلية اخري.rar

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

7 ساعات مضت, سليم حاصبيا said:

شرح للكود


Private Sub Worksheet_Change(ByVal Target As Range)
' الكود هنا مبني على اساس التغيير في اي خلية بالصفحة
'C1 يضاف شرط   فقط اذا كانت الخلية المعنية بالامر هي

 If Target.Address = "$C$1" Then
 '       G1 اذا كانت الخلية الهدف  يقصد بها   تساوي الاسم المقصود الذي ذكر في
    My_name = Range("c1").Value
            If My_name = Cells(1, "g") Then
            ' يتم تغيير لون الخلفية للخلية المجاورة للون الاصفر
            Target.Offset(0, 1).Interior.ColorIndex = 6
            Else
            'اذا لم يكن ذلك   يكون لون الخلفية   عادي
            Target.Offset(0, 1).Interior.ColorIndex = xlColorIndexNone
        End If
   End If
End Sub

 

 

ممتاز ماشاء الله 

17 ساعات مضت, ابو عبدالبارى said:

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

abo_abary_ConditionalFomat.rar

 

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

أخي الكريم عبد العزيز

بدلاً من الحلقات التكرارية والتي ستشكل عبء في أثناء التعامل مع الملف آثرت أن يكون التغيير في العمود الرابع بناءً على إخداث تغيير في أي خلية من خلايا العمود الثالث

جرب الكود التالي عله يفي بالغرض

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Dim I As Integer

    If Target.Cells.CountLarge > 1 Then Exit Sub

    If Target.Column = 3 Then
        Application.ScreenUpdating = False
        Application.EnableEvents = False
            With Target.Offset(, 1)
                .ClearFormats
    
                If Target.Value = "المقاولات" Then
                    With .Font
                        .Bold = True: .Italic = True: .ColorIndex = 5
                    End With
                ElseIf Target.Value = "العقارات" Then
                    With .Font
                        .Bold = True: .Italic = True: .ColorIndex = 3
                    End With
    
                ElseIf Target.Value = "الصيانة" Then
                    With .Font
                        .Bold = True: .Italic = True: .ColorIndex = 8
                    End With
                End If
            End With
        Application.ScreenUpdating = False
        Application.EnableEvents = True
    End If
End Sub

تقبل تحياتي

 

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

ربما يكون مفيداً هذا الكود


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 3 And Target.Row < 2 And Target.Count <> 1 Then GoTo 1

Application.EnableEvents = False

   Target.Offset(0, 1).Font.ColorIndex = xlColorIndexNone
            With Target.Offset(0, 1).Font
                 Bold = True
                 Italic = True
             End With
             
     With Target.Offset(0, 1).Font
     
     Select Case Target.Value
         Case "المقاولات"
          .ColorIndex = 5

        Case "العقارات"
          .ColorIndex = 3
       
        Case "الصيانة"
          .ColorIndex = 8
           
        Case "المالية"
          .ColorIndex = 38
       End Select

End With
1:
Application.EnableEvents = True
End Sub

 

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

و ربما يكون هذا الكود مفيداً لأثراء الموضوع

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
last = Cells(Rows.Count, "c").End(xlUp).Row
For i = 2 To last
Select Case Range("c" & i)
Case "المقاولات"
 Range("d" & i).Font.ColorIndex = 5
 Case "العقارات"
 Range("d" & i).Font.ColorIndex = 3
 Case "الصيانة"
 Range("d" & i).Font.ColorIndex = 8
Case "المالية"
 Range("d" & i).Font.ColorIndex = 38
 End Select
Next
End Sub

 

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

  • 1 year later...

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