halwim قام بنشر نوفمبر 3, 2006 قام بنشر نوفمبر 3, 2006 بسم الله الرحمن الرحيم السلام عليكم جميعا ورحمة الله وبركاته ، اخواني اعضاء المنتدى الحبيب السلام عليكم ورحمة الله وبركاته ،، إن شاء الله يكون الطلب واضح من العنوان ، يوجد ملف مرفق مجهز للتعديل فيه تفاصيل أكثر . تحياتي ________________.rar
علي السحيب قام بنشر نوفمبر 3, 2006 قام بنشر نوفمبر 3, 2006 الكود التالي ينفذ ما تريد وزيادة: 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
halwim قام بنشر نوفمبر 4, 2006 الكاتب قام بنشر نوفمبر 4, 2006 السلام عليكم ورحمة الله وبركاته ،،، دائما في الطليعة يا أستاذ علي ، ماشاء الله عليك ، إبداع × إبداع = إبداع ، زادك الله من كل إبداع . ياليت لو توضح أكثر عن آلية عمل الكود بشكل عام خصوصا خصوصية توفير لون لايشابه اللون المحجوز أو بمعنى آخر خصوصية تبادل الألوان حيث لاحظت أن ألوان المكرر القديمة تتحول إلى لون آخر حينما تستجد أرقام مكررة جديدة . ثم أنه لو كثرت الأرقام المكررة ؛ لنفترضها أصبحت ألفين رقم مكرر هل سيصرف لكل رقم متكرر لون مختص به ؟ أم أنه في نهاية المطاف تتشابه الألوان ويختلط الحابل بالنابل ؟ تحياتي واحتراماتي . والسلام
علي السحيب قام بنشر نوفمبر 4, 2006 قام بنشر نوفمبر 4, 2006 (معدل) عدد الألوان المتاحة في الإكسل هو 56 لون فقط .. وقد قمت في الكود بتحديد أول 15 لون منها .. وإذا قمنا بالتعديل اللازم على الكود سنغير الرقم 15 إلى الرقم 56 .. هذا أقصى ما نستطيع فعله. تم تعديل نوفمبر 4, 2006 بواسطه علي السحيب
halwim قام بنشر نوفمبر 4, 2006 الكاتب قام بنشر نوفمبر 4, 2006 شكرا على سرعة الرد و التوضيح بودي توضيح على أي أساس يتم صرف لون معين بشكل عشوائي وتلقائي . ثم ماذا سيحصل لوبلغ عدد التكرارأكثر من 56 ؟ السلام عليكم
علي السحيب قام بنشر نوفمبر 4, 2006 قام بنشر نوفمبر 4, 2006 بودي توضيح على أي أساس يتم صرف لون معين بشكل عشوائي وتلقائي . كما ذكرت لك في ردي السابق .. رقم اللون مرتبط برقم الخلايا الست والخمسون الأولى من العمود الخامس E .. وستلاحظ في المرفق أنه تم تجاهل الأرقام التي بعد العدد 56 .. لأنه لا يوجد ألوان تقابلها. ثم ماذا سيحصل لوبلغ عدد التكرارأكثر من 56 ؟ لن يتم إعطاء أي لون للرقم المكرر الذي يبلغ تسلسلة أكبر من 56. شاهد المرفق، _______________________________2.rar
الردود الموصى بها