اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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


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

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

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

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