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

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

قام بنشر

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

اريد ترحيل بيانات من ورقة main الى ورقة اضافي من العمود B الى العمود AN فقط الاسماء التي يتم كتابة ارقام بها من العمود G الى العمود AK ( ايام الشهر ) وجمع ساعات الايام العادية بدون الجمع بالعمود AM وايام الجمعة بالعمود AN مع ملاحظة تغير ايام الجمع ، وتكون مرتبة حسب الرقم وياحبذا لو امكن تحديد ايام الجمع باللون الاحمر تلقائيا عند تغيير الشهر

بارك الله فيكم وجزاكم عنا خيرا

Book11.rar

قام بنشر

أخي الكريم مرسال

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

Sub TransferData()
    Dim Ws As Worksheet, Sh As Worksheet
    Dim LR As Long, LastRow As Long, I As Long
    Set Ws = Sheet1: Set Sh = Sheet2
    LR = Ws.Cells(Rows.Count, "D").End(xlUp).Row
    
    Application.ScreenUpdating = False
        For I = 4 To LR
            If Application.WorksheetFunction.Count(Ws.Range("G" & I & ":AK" & I)) >= 1 Then
                LastRow = Sh.Cells(Rows.Count, "C").End(xlUp).Row + 1
                Sh.Range("B" & LastRow).Resize(1, 37).Value = Ws.Range("B" & I).Resize(1, 37).Value
            End If
        Next I
    Application.ScreenUpdating = True
    
    MsgBox "Done...", 64
End Sub

أما فيما يخص باقي طلباتك وإن كنت أفضل التعامل مع الطلبات كل طلب بموضوع ، لتجد استجابة أكثر من قبل إخوانك بالمنتدى

يرجى توضيح المطلوب بالنسبة للجمع مع ضرب مثال أو مثالين لتتضح الصورة وهل تريد الجمع في ورقة main أم في ورقة اضافي التي سيتم الترحيل إليها ..

 

 

  • Like 1
قام بنشر

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

شكرا اخي الكريم على مجهوداتكم

الجمع يكون بالورقتين وذا لم يتم ذلك يكون الجمع في ورقة اضافي 

بارك الله فيكم وجزاكم عنا خير الجزاء

 

  • 2 weeks later...
قام بنشر (معدل)

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

شكرا اخي الكريم ياسر وكل اعضاء المنتدى الكرام

المرفق به بعض التوضيحات لعل وعسى تتضح الصورة

تقبلوا تحياتي

Book11.rar

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

أخي الكريم مرسال

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

بالنسبة لجمع أيام الجمع إليك الحل ..قم بوضع الدالة المعرفة التالية في موديول جديد

من لوحة المفاتيح Alt + F11 ومن قائمة Insert اختر الأمر Module وضع الدالة المعرفة التالية

Public Function SumFriday(M As Long, Y As Long, DayRange As Range, CountRange As Range) As Long
    Dim D As Date
    Dim Cell As Range
    Dim X As Long
    
    For Each Cell In DayRange
        X = X + 1
        D = DateSerial(Y, M, Cell.Value)
        
        If Month(D) <> M Then Exit Function
        
        If Weekday(D, vbSunday) = vbFriday Then
            SumFriday = SumFriday + CountRange(X).Value
        End If
    Next Cell
End Function

ستقوم بتغيير المدخلات في الخلية C2 بدلاً من يناير اجعلها رقم 1 أو أي رقم يشير للشهر المطلوب التعامل معه .. دعك من النص يناير فبراير .. سيكون العمل على رقم الشهر والسنة كما هي في الخلية D2

قم بوضع المعادلة التالية في الخلية AM4 لجمع أيام الجمع في الشهر المحدد ..

=SumFriday($C$2,$D$2,G$3:AK$3,G4:AK4)

ثم قم بوضع المعادلة التالية في الخلية AL4 لجمع بقية الأيام

=SUM(G4:AK4)-AM4

أرجو أن يفي بالغرض

إذا صادفتك مشكلة في المعادلات قم باستبدال الفاصلة العادية بفاصلة منقوطة

تقبل تحياتي

قام بنشر

بارك الله فيك اخي العزيز

سيتم تقسيم الموضوع الى عدة موضوعات ان شاء الله وجاري التعامل مع الملف وسنوافيكم بالمستجدات باذن الله

تقبلوا خالص تحياتي

 

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

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

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

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

سجل حساب جديد

تسجيل دخول

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

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

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

Important Information