اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
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

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

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

تقبل تحياتي

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

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