السلام عليكم ورحمة الله وبركاته
وكل عام وحضراتكم بخير وصحة وسعاده
أعاده الله عليكم بالخير واليمن والبركات
لقد طرحت موضوع من قبل وهو عبارة عن نقل بيانات من داتا تقرير بيعى إلى شيت مصمم من قبلى
وقد تفضل الأخ والأستاذ القدير / ياسر خليل بعمل لى كود ممتاذ يقوم نقل البيانات صحيحة تماما ولكن الكود يأخذ وقت كبيير فى نقل البيانات
أ / ياسر خليل
ممكن التفضل بجعل الكود الأتى يقوم بنفس المهام ولكن يكون سريع
ولك منى خالص الشكر والتقدير
مع وافر التحية
الكود
Sub SUMIFSVBA()
Dim Cell As Range
Dim LR As Long
Dim rngNetValue As Range
Dim rngNames As Range
Dim rngGroup As Range
Dim X As Double, Y
Dim ICol As Long
LR = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row
Set rngNetValue = Sheet1.Range("F2:F" & LR)
Set rngNames = Sheet1.Range("L2:L" & LR)
Set rngGroup = Sheet1.Range("C2:C" & LR)
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
On Error Resume Next
For ICol = 5 To 137 Step 3
For Each Cell In Sheet2.Range("A6:A49")
If IsNumeric(Cell) Then
Y = Application.WorksheetFunction.Index(Rows(4), 1, Cell.Offset(, ICol - 1).Column - 1)
X = Application.WorksheetFunction.SumIfs(rngNetValue, rngNames, Cell.Offset(, 1), rngGroup, Y)
Cell.Offset(, ICol - 1).Value = X
End If
Next Cell
Next ICol
MsgBox "تم بحمد الله"
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub