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

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

قام بنشر

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

الاساتذة الكرام

المطلوب فى المرفق هو الترحيل من ورقة الى ورقة بشرط بين تاريخين

رجاء كود و ليس معادلة لكثرة البيانات

و جزاكم الله خيرا

03.rar

قام بنشر
قام بنشر

lمرحبا اخي صلاح

ربما هذا الكود يفي بالغرض

Sub CopyTofilter()

Dim SH1 As Worksheet, SH2 As Worksheet, R As Integer, T As Integer, Date1 As Double, Date2 As Double
R = 1
Set SH1 = Sheets("filter"): Set SH2 = Sheets("all data")
Date1 = SH1.Range("L2"): Date2 = SH1.Range("M2")

SH1.Range("A2:K" & SH1.Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Row) = ""
Application.ScreenUpdating = False
        For T = 2 To SH2.Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Row
        Select Case SH2.Cells(T, 2).Value2: Case Date1 To Date2
        R = R + 1
        SH2.Range("A" & T).Resize(, 11).Copy
        SH1.Range("A" & R).PasteSpecial xlPasteValues
End Select
Next
Application.ScreenUpdating = True

End Sub

 

  • Like 1
قام بنشر

أخي الكريم صلاح

وضعت لك رابط فيه كود مشابه لما سأقدمه الآن وقد كان الحل بين يديك (نفس الفكرة تقريباً مع بعض التعديلات ليتناسب مع ملفك)

جرب الكود التالي عله يفي بالغرض ويكون أسرع في التعامل مع البيانات

Sub Data_Between_Two_Dates()
    Dim Ws As Worksheet, Sh As Worksheet
    Dim Arr, Temp
    Dim I As Long, P As Long, T As Long
    Dim startDate As Date, endDate As Date

    Set Ws = Sheets("all data"): Set Sh = Sheets("filter")
    Arr = Ws.Range("A2:K" & Ws.Cells(Rows.Count, 1).End(xlUp).Row).Value
    startDate = Sh.Range("L2").Value2: endDate = Sh.Range("M2").Value2
    ReDim Temp(1 To UBound(Arr, 1), 1 To UBound(Arr, 2))
    
    For I = LBound(Arr, 1) To UBound(Arr, 1)
        If Arr(I, 2) >= startDate And Arr(I, 2) <= endDate Then
            For T = 1 To 11
                Temp(P + 1, T) = Arr(I, T)
            Next T
            
            P = P + 1
        End If
    Next I

    Sh.Range("A2").Resize(P, UBound(Temp, 2)).Value = Temp
End Sub

 

  • Like 1
قام بنشر

أخي الكريم صلاح

مش عارف تقول ايه وقلت "جزاك الله خيراً"

كدا إنت قلت أهو .. لو اطلعت على الموضوع في الرابط في أول مرة كان هيفيدك في الحل .. بس أعمل ايه مفيش كلام بيتسمع :rol:

ولا أقولك بلاش لو عشان دي بتفتح أبواب الشيطان . نقول " قدر الله وما شاء فعل ، ولعله خير ..

تقبل تحياتي

  • Like 3

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

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

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

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

سجل حساب جديد

تسجيل دخول

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

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

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

Important Information