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

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

قام بنشر

السلام عليكم 

لدي ملف يحتوى على عدد من الاشخاص وفي كل يوم يتم حضور ما يقرب من 70 شخص لغرض ما وهناك بعض الاشخاص الذين يتوجب حضورهم في نفس اليوم  مثلا

رقم 101 و 108 و 110

رقم 102 و 106

 

المطلوب كود عند كتابة رقم اليوم أمام 101 يتم كتابته تلقائيا أما الاشخاص المرتبطين به

وكذلك 102  

 

الاشخاص المرتبطين.xlsm

قام بنشر

In worksheet module try

Private Sub Worksheet_Change(ByVal Target As Range)
    Const SROW As Long = 6, EROW As Long = 12, SCOL As Long = 3, ECOL As Long = 6
    Dim x, v, rng As Range, cel As Range, c As Long
    If Target.Column = 3 And Target.Row > 15 Then
        For c = SCOL To ECOL
            With Sheets(2)
                Set rng = .Range(.Cells(SROW, c), .Cells(EROW, c))
                x = Application.Match(Target.Offset(, 1).Value, rng, 0)
                If Not IsError(x) Then
                    For Each cel In rng
                        If Not IsEmpty(cel) Then
                            v = Application.Match(Val(cel.Value), Columns(Target.Offset(, 1).Column), 0)
                            If Not IsError(v) Then
                                Application.EnableEvents = False
                                    Cells(v, Target.Column).Value = Target.Value
                                Application.EnableEvents = True
                            End If
                        End If
                    Next cel
                End If
            End With
        Next c
    End If
End Sub

 

  • Like 2
قام بنشر

Try changing this line and remove Val function

v = Application.Match(Val(cel.Value), Columns(Target.Offset(, 1).Column), 0)

To be

v = Application.Match(cel.Value, Columns(Target.Offset(, 1).Column), 0)

 

  • Like 1
  • أفضل إجابة
قام بنشر

Try the code and if you have any different request please post a new topic

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Const SROW As Long = 6, EROW As Long = 20, SCOL As Long = 5, ECOL As Long = 8
    Dim x, v, rng As Range, cel As Range, c As Long, n As Long
    If Target.Column = 3 And Target.Row > 15 Then
        For c = SCOL To ECOL
            n = 0
            If c = 5 Then
                n = RGB(125, 219, 210)
            ElseIf c = 6 Then
                n = RGB(255, 218, 100)
            ElseIf c = 7 Then
                n = RGB(155, 200, 95)
            ElseIf c = 8 Then
                n = RGB(85, 116, 123)
            End If
            With Sheet2
                Set rng = .Range(.Cells(SROW, c), .Cells(EROW, c))
                x = Application.Match(Target.Offset(, 1).Value, rng, 0)
                If Not IsError(x) Then
                    For Each cel In rng
                        If Not IsEmpty(cel) Then
                            v = Application.Match(cel.Value, Columns(Target.Offset(, 1).Column), 0)
                            If Not IsError(v) Then
                                Application.EnableEvents = False
                                    Cells(v, Target.Column).Value = Target.Value
                                    Cells(v, Target.Column).Interior.Color = n
                                Application.EnableEvents = True
                            End If
                        End If
                    Next cel
                'Exit For
                End If
            End With
        Next c
    End If
End Sub

 

  • Like 1
قام بنشر

الاستاذ   lionheart

 

* أولا : شكرا للتوضيح وسوف يتم العمل بهذه النصيحة

* ثانيا : الكود يعمل بكفاءة  لكن يعمل عن نفس الورقة المسماة  الرئيسي  والمطلوب أن يتم التظليل في ورقة العمل المسماة كشف الترحيل مع ملاحظة ازالة اللون إذا تم ازالة رقم اليوم من أمام كود الشخص       في ورقة العمل  المسماة الرئيسي

21 ساعات مضت, أبو إيمان said:

تظليل الأسماء المرتبطة  في كشف الترحيل كل مجموعة بلون مختلف

 

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