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

هل يمكن تحويل هذة المعادلات إلى كود


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

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

إلى أساتذة المنتدى الكرام

فى المرفق معادلات للدالة Sumifs

هلى يمكن تحويلها الى كود وذلك لكثرة البيانات التى تحققها هذة الدالة والتى قد يصل مدخلاتها الى 50000 حركة ونتائجها تستخلص ل 4000 صنف

 ويعجز لسانى عن الشكر لكل اعضاء وأساتذة المنتدى الكرام

 

11.rar

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

السلام عليكم

أخي الكريم
جرب هذا الكود

Sub ConvertFunction()
Dim H, B, C, J, K, M As Range
With Sheet1
    Set H = .Range("H:H"):      Set B = .Range("B:B")
    Set C = .Range("C:C"):     Set J = .Range("J:J")
    Set K = .Range("K:K"):      Set M = .Range("M:M")
End With
LR = [B65536].End(xlUp).Row
If LR <= 5 Then MsgBox "No data to retreive": Exit Sub


For r = 5 To LR
        cl = Cells(r, 2)
        cr1 = ">=" & [C1]:          cr2 = "<=" & [C2]
        cr3 = ">=" & [G1]:          cr4 = "<=" & [G2]


        Cells(r, 3) = WorksheetFunction.SumIfs(H, B, cl, C, cr1, C, cr2)
        Cells(r, 4) = WorksheetFunction.SumIfs(J, B, cl, C, cr1, C, cr2)
        Cells(r, 6) = WorksheetFunction.SumIfs(K, B, cl, C, cr1, C, cr3)
        Cells(r, 7) = WorksheetFunction.SumIfs(M, B, cl, C, cr1, C, cr4)
Next
End Sub

تفضل المرفق وبه الكود

 

11_New.rar

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

أستاذ  طارق محمود

ألف ألف شكر على سرعة الرد

ولا أروع من هذا الحل  وهو المطلوب فعلاً

جزاك الله عنا كل خير وجعلة فى ميزان حسناتك

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

كما فى المرفق  مثلاً الصنف1 اردت البحث بين تاريخين لتجميع النتائج ولكنها لم تظهر بشكل صحيح ظهر تجميع الفترة بالكامل

ولك منى جزيل الشكر

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

الى الاستاذ طارق

اسمح لى بأننى أضفت تعديل بسيط فى الكود لكى يعمل بالصورة المطلوبة

Sub ConvertFunction()

Dim H, B, C, J, K, M As Range

With Sheet1

Set H = .Range("H:H"): Set B = .Range("B:B")

Set C = .Range("C:C"): Set J = .Range("J:J")

Set K = .Range("K:K"): Set M = .Range("M:M")

End With

LR = [b65536].End(xlUp).Row

If LR <= 5 Then MsgBox "No data to retreive": Exit Sub

For r = 5 To LR

cl = Cells(r, 2)

cr1 = [">="&C1]: cr2 = ["<="&C2]

cr3 = [">="&G1]: cr4 = ["<="&G2]

Cells(r, 3) = WorksheetFunction.SumIfs(H, B, cl, C, cr1, C, cr2)

Cells(r, 4) = WorksheetFunction.SumIfs(J, B, cl, C, cr1, C, cr2)

Cells(r, 6) = WorksheetFunction.SumIfs(K, B, cl, C, cr1, C, cr4)

Cells(r, 7) = WorksheetFunction.SumIfs(M, B, cl, C, cr1, C, cr4)

Next

End Sub

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

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