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

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

قام بنشر

صراحة لم استوعب طلبك جيدا لاكن جرب وضع هدا الكود في  module 

Option Explicit
Public Sub ColourChange()
Dim Clé As Range
   For Each Clé In ActiveWorkbook.ActiveSheet.Range("F5:F36")
   Application.ScreenUpdating = False
        If Not IsError(Clé) Then
     With Clé
            .Interior.ColorIndex = xlColorIndexNone: .Font.Color = RGB(0, 0, 0)
     Select Case .Value2
        Case "اخضر", "أخضر"
             .Interior.Color = RGB(0, 204, 0): .Font.Color = RGB(0, 204, 0)
                                
        Case "ازرق", "أزرق"
             .Interior.Color = RGB(0, 0, 255): .Font.Color = RGB(0, 0, 255)
                                                   
        Case "اصفر", "أصفر"
             .Interior.Color = RGB(255, 255, 0): .Font.Color = RGB(255, 255, 0)
                                                     
        Case "احمر", "أحمر"
             .Interior.Color = RGB(255, 0, 0): .Font.Color = RGB(255, 0, 0)
                End Select
            End With
        End If
    Next
    Application.ScreenUpdating = True
End Sub

وفي حدث ورقة شهادات ضع الرمز التالي 

 ' على حسب احتياجاتك
Private Sub Worksheet_Activate()
ColourChange
End Sub

' او 

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("F5:F36")) Is Nothing Then
If Target.Cells.Value = Empty Then Exit Sub
        Aplication.EnableEvents = False
           Call ColourChange
        Application.EnableEvents = True
   On Error GoTo 0
End If
End Sub

 

  • Thanks 1
  • تمت الإجابة
قام بنشر (معدل)

هناك حل  اخر لاثراء الموضوع . في وجهة نظري سوف يغنيك عن اظافة كل لون على حدى داخل الكود خاصة ادا قمت باظافة الوان اخرى للملف 

يكفي وضع اسماء الالوان المستخدمة مثلا في عمود AG  وتلوين خلية العمود المجاور  وليكن مثلا AH باللون المطلوب كما في الصورة اسفله

img?id=558320

واستخدام الكود التالي 

Sub Spinner2_Change()
Dim myRange As Range, cell As Range
'نطاق البيانات
Set myRange = Range("F5:F33")

With Application
  .ScreenUpdating = False
 On Error Resume Next
 With myRange
 .Interior.ColorIndex = xlColorIndexNone: .Font.Color = RGB(0, 0, 0)
 End With
  For Each cell In myRange
    If Not IsError(.Match(cell.Value, Columns("AG"), 0)) Then   ' عمود اسماء الالوان

      ' لون الخلفية
      cell.Interior.Color = Cells(.Match(cell.Value, Columns("AG"), 0), "AH").Interior.Color ' عمود الالوان

      ' لون الخط
      cell.Font.Color = Cells(.Match(cell.Value, Columns("AG"), 0), "AH").Interior.Color

    End If
  Next
  .ScreenUpdating = True
  End With
 On Error GoTo 0
   
End Sub

 

تلوين 3.xlsm

تم تعديل بواسطه محمد هشام.
  • Like 2
  • Thanks 1

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

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

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

Important Information