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

عمل تنسيق شرطي بواسطة كود


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

أخي الفاضل الملف به أصلاً تنسيق شرطي يحقق ما تريده ...

أي أنه بالفعل يتم تلوين الأرقام المكررة في اليوم الواحد بصرف النظر عن أسماء الأشخاص..

وضح طلبك أكثر إذا لم يكن هذا هو المطلوب

لأن المطلوب موجود بالفعل................!!!

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

يا أخي الحبيب ..أنا لا أعترض على طلبك..إنما أردت معرفة هل هذا هو المطلوب أم لا..

بعدها ربنا ييسر الأمور ونحاول نعملها لك بالكود إذا أمكن

فقط أجبني إذا كان هذا هو المطلوب أم لا

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

لو كانت مشكلتك في الأسماء ........ وعايز تتعامل مع الأرقام فقط قم بتطبيق المعادلة

=AND(ISNUMBER(C2),COUNTIF($B2:$M2,C2)>1)

على النطاق بالكامل

=$C$2:$M$19
رابط هذا التعليق
شارك

 انسخ هذا للكود في حدث الصفحة

Sub cond_for()
 Range("B2:M3").Select

    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=AND(OR($A2=""السبت"",$A2=""الاحد""),COUNTIF($B2:$M2,B2)>1,ISNUMBER(B2))"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 65535
        .TintAndShade = 0
    End With
End Sub

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

بارك الله فيك كل ما ذكرت وخاصة المشاركة الاخيرة تفي بالغرض

لكن هل يوجد طريقة بواسطة كود ام لا ؟

اذا كانت طريقة الكود تتطلب وقتا فانتظرك , اعلم ان الجهد الذي تبذله في المنتدى ليس بالقليل

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

 السلام عليم

هذا الملف يعمل بالكود

مجرد ما تغير اي خلية في النطاق المطلوب سوف يعمل التنسيق الشرطي تلقائياً

يمكنك تغيير النطاق من داخل الكود

(كبسة يمين على اسم الصفحة ثم view code)

تنسيق شرطي salim.rar

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

استبدل الكود بالتالي: (اضافة بسيطة على السابق)

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ws As Worksheet
Set ws = Sheets("æÑÞÉ1 (3)")
If Not Intersect(Target, Range("b2:m3")) Is Nothing Then
        Application.EnableEvents = False
        Application.ScreenUpdating = False
        On Error Resume Next

    Range("b2:m3").Cells.FormatConditions.Delete
    Range("b2:m3").Select
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
                 "=AND(OR($A2=""ÇáÓÈÊ"",$A2=""ÇáÇÍÏ""),COUNTIF($B2:$M2,B2)>1,ISNUMBER(B2))"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 65535
        .TintAndShade = 0
    End With
     [B2].Select
Else
        Application.EnableEvents = True
        Application.ScreenUpdating = True
End If

      
End Sub

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

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information