عفوا أخي
لم أقرأ جيدا في الأول
ظننت أنك تريد التجميع من الأوراق إلي الورقه (MAIN)
وكنت قد بدأت في هذا الإتجاه
وهذا الكود غير كامل إن أردت المحاولة
Sub Shift()
x = Worksheets.Count
For i = 2 To x
Worksheets(i).Select
Range("B5").Select
For j = 0 To 9
If ActiveCell.Value > 1 Then GoSub 100: GoSub 200
ActiveCell.Offset(0, 8).Select
Next j
Next i
100 ' There's a data
wn = Worksheet.Name ' Group Number
ag = ActiveCell.Offset(-2, 0).Value ' Agent (Wakeel)
dd = ActiveCell.Value ' date
qa = ActiveCell.Offset(0, 1).Value ' Qaema (List)
ad1 = ActiveCell.Address ' ad = Address
ActiveCell.Offset(30, 0).Select
Selection.End(xlUp).Select
ad2 = ActiveCell.Address
If ad1 <> ad2 Then GoSub 300 'There's another data
'OR it's only one record
ActiveCell.Offset(-1, 3).Select
Range(Selection, Selection.End(xlDown)).Select
dc = Selection.Rows.Count - 1 'data count
Range(ad1).Select
Return
200
Return
300
Return
400
Next i
End Sub
لأنني مشغول الآن
فإن لم يتدخل أحد الإخوة سوف أبدأ فيها غدا إن شاء الله