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

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

قام بنشر

بسم الله الرحمن الرحيم

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

اخواني اعضاء المنتدى الحبيب السلام عليكم ورحمة الله وبركاته ،،

إن شاء الله يكون الطلب واضح من العنوان ،

يوجد ملف مرفق مجهز للتعديل فيه تفاصيل أكثر .

تحياتي

________________.rar

قام بنشر

الكود التالي ينفذ ما تريد وزيادة:

Private Sub Worksheet_Change(ByVal Target As Range)

TC = Target.Column
TR = Target.Row

If TC = 3 And TR > 1 And TR < 31 Then

Set MyRange = [E2:E30]
Set MyRange2 = [C2:C30]

Application.ScreenUpdating = False

With MyRange
    .ClearContents
    .Interior.ColorIndex = xlNone
End With

For C = 2 To 30
With Cells(C, 5)
    .Borders(xlEdgeLeft).LineStyle = xlNone
    .Borders(xlEdgeBottom).LineStyle = xlNone
    .Borders(xlEdgeRight).LineStyle = xlNone
End With
Next

For R = 2 To 30
If Application.WorksheetFunction.CountIf(MyRange2, Cells(R, 3)) > 1 Then
With Columns(5).Rows(65536).End(xlUp)
            .Offset(1, 0) = Cells(R, 3)
End With
End If
Next

For Each Cell In MyRange
If Application.WorksheetFunction.CountIf(MyRange, Cell) > 1 Then
Cell.ClearContents
End If
Next

MyRange.Sort [E2], xlAscending

For R = 2 To 30
If Cells(R, 3).Row Mod 2 = 0 Then Cells(R, 3).Interior.ColorIndex = 35
If Cells(R, 3).Row Mod 2 = 1 Then Cells(R, 3).Interior.ColorIndex = 37
Next

For C = 1 To 15
For Each Cell In MyRange2
If Cell = Cells(C, 5) And Cells(C, 5) <> "" Then
Cell.Interior.ColorIndex = C
Cells(C, 5).Interior.ColorIndex = C
With Cells(C, 5)
    .Borders(xlEdgeLeft).LineStyle = xlContinuous
    .Borders(xlEdgeTop).LineStyle = xlContinuous
    .Borders(xlEdgeBottom).LineStyle = xlContinuous
    .Borders(xlEdgeRight).LineStyle = xlContinuous
End With
End If
Next
Next

Application.ScreenUpdating = True
End If
End Sub

شاهد المرفق،

________________.rar

قام بنشر

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

دائما في الطليعة يا أستاذ علي ، ماشاء الله عليك ، إبداع × إبداع = إبداع ، زادك الله من كل إبداع .

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

ثم أنه لو كثرت الأرقام المكررة ؛ لنفترضها أصبحت ألفين رقم مكرر هل سيصرف لكل رقم متكرر لون مختص به ؟ أم أنه في نهاية المطاف تتشابه الألوان ويختلط الحابل بالنابل ؟

تحياتي واحتراماتي .

والسلام

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

عدد الألوان المتاحة في الإكسل هو 56 لون فقط .. وقد قمت في الكود بتحديد أول 15 لون منها .. وإذا قمنا بالتعديل اللازم على الكود سنغير الرقم 15 إلى الرقم 56 .. هذا أقصى ما نستطيع فعله.

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

شكرا على سرعة الرد و التوضيح

بودي توضيح على أي أساس يتم صرف لون معين بشكل عشوائي وتلقائي .

ثم ماذا سيحصل لوبلغ عدد التكرارأكثر من 56 ؟

السلام عليكم

قام بنشر
بودي توضيح على أي أساس يتم صرف لون معين بشكل عشوائي وتلقائي .

كما ذكرت لك في ردي السابق .. رقم اللون مرتبط برقم الخلايا الست والخمسون الأولى من العمود الخامس E .. وستلاحظ في المرفق أنه تم تجاهل الأرقام التي بعد العدد 56 .. لأنه لا يوجد ألوان تقابلها.

ثم ماذا سيحصل لوبلغ عدد التكرارأكثر من 56 ؟

لن يتم إعطاء أي لون للرقم المكرر الذي يبلغ تسلسلة أكبر من 56.

شاهد المرفق،

_______________________________2.rar

زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

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

Important Information