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

كود تلوين الخلايا اذا كانت تحتوى على يوم الجمعة


إذهب إلى أفضل إجابة Solved by AbuuAhmed,

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

السلام عليكم

أريد كود إذا وجد يوم الجمعة يقوم بتلوين أسفله بحسب عدد الأسماء الموجود فى العمود B ويتم وضع حرف V فى العمود وP فى باقى الأعمدة(مرفق الملف وصورة للتوضيح)

صورة توضح المطلوب (حاولت كثيراً لكن الكود لا يضبط )

Capture.PNG

حضور وإنصراف.xlsb

تم تعديل بواسطه abdelfattahbadawy
رابط هذا التعليق
شارك

الكود:
 

    Sheets("Base").Select
    Range("D7:AH15").Select
    Selection.FormatConditions.Delete
    
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=WEEKDAY(D$6)=" & vbFriday
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent2
        .TintAndShade = 0.399945066682943
    End With
    Selection.FormatConditions(1).StopIfTrue = False
    
    MsgBox "Done"

 

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

بخصوص كتابة كلمة v&p انا استخدمت ذلك الكود لكنة ينفذ حتى سطر 1015

   Dim A As Range
    For Each A In Range("D7:AH15" & Cells(Rows.Count, "A").End(xlUp).Row)
       If Not IsError(A) Then
        If A.Interior.Color = grey Then
              A.Value = "V"
          ElseIf A.Interior.Color = white Then
              A.Value = "P"
          Else
               A.Value = "N"
           End If
       End If
'    Next A

لا أدرى ما المشكلة

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

فى الخلايا التى ليس بها يوم الجمعة كنت أريد الكود يقوم بوضع حرف P  والخلايا التى تحتوى على يوم الجمعة وتم تلوينها يضع حرف V الكود أعلاه جربته بس ما ظبط معى ومشكور أولاً وأخيراً على ردك واهتمامك

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

بعد ادن الاخ @AbuuAhmed اليك حل اخر  على حسب  الشروط  المدكورة والصورة المرفقة في  في اول مشاركة 

 

Sub Color_Friday()

Dim lastCol&, LastRow&, i&, j&, lr&, Search As String
Dim WS As Worksheet: Set WS = ThisWorkbook.Worksheets("Base")

 Search = "الجمعة"
 
Application.ScreenUpdating = False
 With WS
 lr = .Columns("A:B").Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row
    lastCol = .Cells(5, WS.Columns.Count).End(xlToLeft).Column
       LastRow = .Range("B" & .Rows.Count).End(xlUp).Row
        WS.Range("D5:AH" & lr).Interior.ColorIndex = xlNone
        .Range(Cells(5, 4), Cells(6, lastCol - 4)).Interior.Color = RGB(217, 217, 217)
    
    If lr > 6 Then
     .Range(Cells(7, 4), Cells(lr, lastCol - 4)).ClearContents
    End If
    For j = 7 To LastRow
        If .Cells(j, 2) <> "" Then
        .Range(Cells(7, 4), Cells(LastRow, lastCol - 4)).Value = "V"
   End If
For i = 4 To lastCol
    If WS.Cells(5, i).Value2 Like Search Then
        .Range(Cells(7, i).Address, Cells(LastRow, i).Address).Value = "P"
        .Range(Cells(5, i).Address, Cells(LastRow, i).Address).Interior.ColorIndex = 40
        
             End If
          Next
       Next
   End With
   Application.ScreenUpdating = True

End Sub

 

حضور 2وإنصراف.xlsb

تم تعديل بواسطه محمد هشام.
  • Like 2
رابط هذا التعليق
شارك

في 24‏/12‏/2023 at 10:51, abdelfattahbadawy said:

كود إذا وجد يوم الجمعة يقوم بتلوين أسفله بحسب عدد الأسماء الموجود فى العمود B ويتم وضع حرف V فى العمود وP فى باقى الأعمدة

أعرف سؤالي قد يكون تطفلا، وما دفعني للسؤال لغرابة الطلب، أنا توقعت ستملأ الخلايا ببيانات متغيرة وليست ثابتة كـ "V" و "P".
ربما لو توضح لنا الهدف اختصرنا لك كل هالتصميم والكود بدالة صغيرة من خمسة سطور تعطيك المعلومة المطلوبة بسهولة.

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

14 دقائق مضت, AbuuAhmed said:

أعرف سؤالي قد يكون تطفلا، وما دفعني للسؤال لغرابة الطلب، أنا توقعت ستملأ الخلايا ببيانات متغيرة وليست ثابتة كـ "V" و "P".
ربما لو توضح لنا الهدف اختصرنا لك كل هالتصميم والكود بدالة صغيرة من خمسة سطور تعطيك المعلومة المطلوبة بسهولة.

فى الحسابات بيكون الشباب محتاجين يعرفوا كل فرد حضر كام يوم فى أغلب الاوقات بيبقى الناس كلها حضور وبالتالى موضوع التلوين والكتابة بيستزف وقت وأحيانا تنسى تلون حاجة أو تعمل حاجة فتلاقى الشيت راجع فى الفاضى فعشان كده بقيت أفضل الحاجة الاتوماتيك ولو بقى فى تعديل بسيط بعملوا باليد وبالتالى بقلل أخطاء النسيان 

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

إذن في حالة الغياب ستبدل "P" بحرف "A" مثلا؟

اقتراحي لا داعي لكتابة "P" للحضور، ولا "V" لعطلة نهاية الأسبوع.
أنت تحتاج فقط:
كتابة "A" من Absent في حالة الغياب فقط.
وكتابة "V" من Vacation في حالة كونه في إجازة.

أما عطلة نهاية الأسبوع لا تحتاج إلى كتابة، وعند الرغبة فليكن حرفها "W" من Weekend.
ويمكن التحكم عند الكتابة بمنع الإدخال في خانة عطلة نهاية الأسبوع كذلك ومنع إدخال غير الحروف المطلوبة.

سؤال آخل ماذا لو عمل الموظف أيام العطل الأسبوعية، هل ستضع له حرفا جديدا أم ستستخدم حرف "P" أيضا؟
 

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

42 دقائق مضت, AbuuAhmed said:

إذن في حالة الغياب ستبدل "P" بحرف "A" مثلا؟

اقتراحي لا داعي لكتابة "P" للحضور، ولا "V" لعطلة نهاية الأسبوع.
أنت تحتاج فقط:
كتابة "A" من Absent في حالة الغياب فقط.
وكتابة "V" من Vacation في حالة كونه في إجازة.

أما عطلة نهاية الأسبوع لا تحتاج إلى كتابة، وعند الرغبة فليكن حرفها "W" من Weekend.
ويمكن التحكم عند الكتابة بمنع الإدخال في خانة عطلة نهاية الأسبوع كذلك ومنع إدخال غير الحروف المطلوبة.

سؤال آخل ماذا لو عمل الموظف أيام العطل الأسبوعية، هل ستضع له حرفا جديدا أم ستستخدم حرف "P" أيضا؟
 

تمام أخى أبو أحمد لكن إثراءاً للمناقشة كيف يتم منع الادخال فى خانة عطلة نهاية الاسبوع بالكود أم بالتنسيق الشرطى ؟

بخصوص عمل الموظف يوم الجمعة فغالباً وعلى مدار ال10 سنوات لا يعمل الموظف معنا يوم الجمعة 

تم تعديل بواسطه abdelfattahbadawy
رابط هذا التعليق
شارك

محاولة منى، مع وجود طريقة أخرى باستخدام حماية الخلايا ولكنها تحتاج عناية كبيرة، هذه أعتقد تفي بالغرض.

ظهر لي خلل فجأة ثم حاولت في حدوثه مرة أخرى لمعرفة السبب وحل المشكلة ولكنه اختفى!!.
 

 

حضور وإنصراف_04.xlsb

تم تعديل بواسطه AbuuAhmed
  • Like 2
رابط هذا التعليق
شارك

31 دقائق مضت, AbuuAhmed said:

محاولة منى، مع وجود طريقة أخرى باستخدام حماية الخلايا ولكنها تحتاج عناية كبيرة، هذه أعتقد تفي بالغرض.

ظهر لي خلل فجأة ثم حاولت في حدوثه مرة أخرى لمعرفة السبب وحل المشكلة ولكنه اختفى!!.
 

 

حضور وإنصراف_04.xlsb 39.11 kB · 0 downloads

جزاك الله خيراً على تعبك واهتمامك

أعتقد الخلل بيحصل لما يكون الشهر 28 يوم حدثت معى أكثر من مرة  

 

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

  • أفضل إجابة
4 ساعات مضت, abdelfattahbadawy said:

أعتقد الخلل بيحصل لما يكون الشهر 28 يوم حدثت معى أكثر من مرة

تم إصلاح الخلل وعمل عدة تنقيحات:

حضور وإنصراف_05.xlsb

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

جزاك الله خيراً ونفع بك وزادك من علمه وبسط عليك من رزقه وغفر لك ولوالديك وأخى محمد هشام وجميع القائمين على هذا المنتدى .

 

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

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