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

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

قام بنشر

كيف يمكن تلوين خلية اذا كان محتواها صيغة

بوضع كود في الحدث

selectionchange

و يزول التلوين بعد أن يصبح محتوى الخلية قيمة

ملاحظة : اذا ممكن المجال بالورقة قابل للتغير ( ديناميكي ) بأضافة قيم بشكل دائم

شكرا

تلوين خلايا.rar

قام بنشر

اانسخ هذا الكود

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 lr = Cells(Rows.Count, 2).End(3).Row
  Set myrange = Range("b2:b" & lr)
  If Not Intersect(Target, myrange) Is Nothing And Target.Count = 1 And Target.HasFormula Then

   Target.Interior.ColorIndex = 4
   

    End If
  
End Sub

 

  • Like 1
قام بنشر

شكرا للأستجابة

ما حدث أن الخلية التي بها صيغة و يقف المؤشر فوقها تتلون

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

شكرا

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

جرب هذا الملف

التنسيق يطبق فقط على العامود B  كما تريد انت و يمكن التوسع في ذلك

حاول ان تمسح اي معادلة (أو تضيف اي معادلة) في  العامود المذكور و شاهد النتيجة

 

تلوين خلايا Salim1.zip

تم تعديل بواسطه سليم حاصبيا
  • Like 1
قام بنشر

الأستاذ الفاضل  سليم  بارك الله فيكم

  وبعد اذن حضرتك بالمشاركة

أستاذ نايف  ضع الكود التالى فى الحدث     Worksheet_Change    مش فى   selectionchange    كالتالى

 

Private Sub Worksheet_Change(ByVal Target As Range)

Dim C As Range
Dim rng As Range
                                 
' تحديد نطاق الفحص
Set rng = Range("B2", Range("B" & Rows.Count).End(xlUp))
' تحديد الخلايا التى تتضمن معادلات

     For Each C In rng
       If C.HasFormula Then
         C.Interior.ColorIndex = 38
       Else
       C.Interior.Pattern = xlNone
      End If
      
    Next C
   
End Sub

وغير فى النطاق المحدد من معادلات الى نص أو العكس 

تلوين خلايا 2.rar

  • Like 1
قام بنشر

الأخ سليم شكرا جزيلا لجهودك

كنت طيبا معي

لكن المطلوب هو كما تفضل الأخ مختار

الأخ مختار :

أريد أضافة شرط : اذا كانت الخلية  في العمود A  المقابلة للخلية الحاوية على الصيغة غير فارغة يتم تنفيذ الكود

if cell in range a <> "" and cell in range b hasformula then

شكرا لجهودك

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

تم التعديل على الملف ليناسب المطلوب (دون اي كود)

تلوين خلايا Salim2.zip

استاذ مختار يمكن اختصار الكود الذي وضعته بسطر واحد هو:

Range("B2", Range("B" & Rows.Count).End(xlUp)).SpecialCells(xlCellTypeFormulas, 23).Interior.ColorIndex = 38

 

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

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

Range("B2", Range("B" & Rows.Count).End(xlUp)).SpecialCells(xlCellTypeFormulas).Interior.ColorIndex = 38

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

الأخ نايف جرب الكود التالى

Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range
Dim rng As Range
' تحديد نطاق الفحص
Set rng = Range("B2", Range("B" & Rows.Count).End(xlUp))
' تحديد الخلايا التى تتضمن معادلات
     For Each C In rng
       If C.HasFormula And C.Offset(, -1) <> "" Then
         C.Interior.ColorIndex = 38
       Else
       C.Interior.Pattern = xlNone
      End If
      
    Next C
   
End Sub

 

  • Like 1
قام بنشر

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

شكرا

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