السلام عليكم أخي الكريم
قم بإنشاء ورقة عمل باسم Output وجرب الكود التالي عله يفي بالغرض
CODE
Sub Test()
Dim ws As Worksheet, sh As Worksheet, i As Long
Application.ScreenUpdating = False
Set ws = ThisWorkbook.Worksheets("Sheet1")
Set sh = ThisWorkbook.Worksheets("Output")
sh.Cells.Clear
ws.Range("A1").CurrentRegion.Copy sh.Range("A1")
With sh.Range("A1").CurrentRegion
.Sort .Cells(1), xlAscending, , , , , , xlYes
For i = .Rows.Count + 1 To 3 Step -1
If sh.Cells(i, 1).Value <> sh.Cells(i - 1, 1).Value Then
Rows(i).EntireRow.Insert.
.Cells(i, 1).Resize(1, .Columns.Count).Interior.ColorIndex = 6
.Cells(i, 1).Value = "Total"
.Cells(i, .Columns.Count).Formula = "=SUMIF(A2:A" & i & ",A" & i - 1 & ",E2:E" & i & ")"
End If
Next i
End With
Application.ScreenUpdating = True
MsgBox "Done...", 64, "YasserKhalil Excel-Egy"
End Sub