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

الرجاء تحويل هذه الدالة إلى كود


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

=SOMMEPROD((raball!AQ$6:AQ$60000=B17)*(raball!AS$6:AS$60000=C$2)*(raball!J$6:J$60000)*(date>=F$2)*(date<=G$2))

 

حيث raball هي رقة البيانات

 

 

هذه الدالة نظرا لكثرة البيانات فهي بطيءة نوعا ما بلإظافة انه في بعص الحيان عندما أفتح الملف يقوم بالحسابات مما يسبب في ثقل الملف

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

السلام عليكم

 

 

الدالة في الورقة contabilann   في الخلايا من k17 إلى p18

 

 

=SOMMEPROD((raball!AQ$6:AQ$60000=B17)*(raball!AS$6:AS$60000=C$2)*(raball!J$6:J$60000)*(date>=F$2)*(date<=G$2))

 

مع تغيير في هذه الجزئية باللون الأحمرحسب الخلايا المراد جمعها

 

ويا حبذا لو كان بزر يعني مجرد بالصغط على زر يقوم بالجمع    كذلك   الدالة

 

 

=SI(ESTERREUR(SI(A6="";"";(RECHERCHEV(A6;bd;35;FAUX))));"";SI(A6="";"";(RECHERCHEV(A6;bd;35;FAUX)))) الموجود في الورقة raball

 

 

 

والشرح موجود في الورقة 01

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

السلام عليكم

 

جرب هذا الكود

 

Public Sub Ali_nr()
Dim c As Long
Dim x As Long
c = 11
For Each Rn In Array("j", "k", "l", "m", "n", "o")
x = Evaluate("=SUMPRODUCT((raball!AQ$6:AQ$60000=B17)*(raball!AS$6:AS$60000=C2)*(raball!" & Rn & "$6:" & Rn & "$60000)*(date>=F$2)*(date<=G$2))")
Cells(17, c) = x
c = c + 1
Next
End Sub

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

السلام عليكم

 

أستاذي العزيز بارك الله فيك وجزاك الله كل خير  هذا ما أريد بالظبط

 

 

لكن لوتكرمت تحويل المعادلة التي في الورقة raball

 

=SI(ESTERREUR(SI(A6="";"";(RECHERCHEV(A6;bd;35;FAUX))));"";SI(A6="";"";(RECHERCHEV(A6;bd;35;FAUX))))

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

السلام عليكم

 

حل بطريقة اخرى

جرب الكود 

 

 

Public Sub Ali_Er()
Dim Sh As Worksheet
Dim Rm As Range, Rn As Range
Set Sh = Worksheets("raball")
With Sh
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Set Rm = Lr(Sh, 1, 0)
Rx Sh, Rm, 42, 35: Rx Sh, Rm, 43, 8: Rx Sh, Rm, 45, 38
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End With
End Sub
Sub Rx(Sh As Worksheet, Rn As Range, Co As Variant, V)
With Sh
For Each R In Rn
 xl = Py_m(R, Range("bd"), V)
  If IsError(xl) Then .Cells(R.Row, Co) = "" Else .Cells(R.Row, Co) = xl
 If R.Value = "" Then .Cells(R.Row, Co) = ""
Next
End With
End Sub
Private Function Lr(ByVal Sh As Worksheet, ByVal Col As Variant, Optional ByVal Fst As Long) As Range
    With Sh
        Set Lr = .Range(.Cells(6, Col), .Cells(.Rows.Count, Col).End(xlUp).Offset(Fst))
    End With
End Function
Private Function Py_m(Em, Hn_a As Range, Vl)
Dim R
With Hn_a
For R = 1 To .Rows.Count
 If .Cells(R, 1) = Em Then
 Py_m = .Cells(R, Vl)
 End If
Next
End With
End Function

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

up

 

السلام عليكم

 

أستاذي العزيز بارك الله فيك وجزاك الله كل خير  هذا ما أريد بالظبط

 

 

لكن لوتكرمت تحويل المعادلة التي في الورقة raball

 

=SI(ESTERREUR(SI(A6="";"";(RECHERCHEV(A6;bd;35;FAUX))));"";SI(A6="";"";(RECHERCHEV(A6;bd;35;FAUX))))

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

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