تم معالجة الامر بالنسبة للسؤال الاول
بالنسبة للسؤال الثاني اعتقد انه معادلة عادية يمكن ادراجها (()=Sum)
Sub copy_data()
m = 0
With Sheets("sheet2")
lr2 = .Cells(Rows.Count, 4).End(3).Row: If lr2 < 8 Then lr2 = 8
lr1 = Sheets("sheet1").Cells(Rows.Count, 2).End(3).Row: If lr1 < 8 Then lr1 = 8
Sheets("sheet1").Range("b8:o" & lr1).ClearContents
Set my_rg = Sheets("sheet2").Range("d8:d" & lr2). _
SpecialCells(xlCellTypeConstants, 1).Offset(0, -2)
For i = 1 To my_rg.Areas.Count
my_rg.Areas(i).Resize(my_rg.Areas(i).Rows.Count, 14).Copy Sheets("sheet1").Cells(m + 8, 2)
m = m + my_rg.Areas(i).Rows.Count
Next
End With
End Sub
تعديل كود Salim1.rar