[COLOR=#0000ff]Sub[/COLOR] AllTogether()
Application.ScreenUpdating = [COLOR=#0000ff]False[/COLOR]
[COLOR=#0000ff] Call[/COLOR] InsertRowBasedOnValue
[COLOR=#0000ff] Call[/COLOR] InsertSums
[COLOR=#0000ff]Call[/COLOR] DelRowBasedOnWord
Application.ScreenUpdating = [COLOR=#0000ff]True[/COLOR]
[COLOR=#0000ff]End Sub[/COLOR]
[COLOR=#0000ff]Sub[/COLOR] InsertSums()
[COLOR=#0000ff] Dim [/COLOR]c [COLOR=#0000ff] As[/COLOR] Range
[COLOR=#0000ff] Dim [/COLOR]ColArr()[COLOR=#0000ff] As[/COLOR] [COLOR=#0000ff]Variant[/COLOR]
ColArr = Array("F", "G", "H")
[COLOR=#008000] 'Inserts Sum By Groups based on blank cells ....i.e. SpecialCells[/COLOR]
[COLOR=#0000ff] For [/COLOR]ArrLp =[COLOR=#0000ff] LBound[/COLOR](ColArr)[COLOR=#0000ff] To UBound[/COLOR](ColArr)
[COLOR=#0000ff] For Each[/COLOR] c [COLOR=#0000ff]In [/COLOR]Range(ColArr(ArrLp) & ":" & ColArr(ArrLp)).SpecialCells(xlConstants).Areas
[COLOR=#0000ff] If [/COLOR]c(1).Row > 1 [COLOR=#0000ff]Then[/COLOR] c(0) = Application.WorksheetFunction.Sum(Range(c.Address))
[COLOR=#0000ff] Next[/COLOR] c
[COLOR=#0000ff] Next[/COLOR] ArrLp
[COLOR=#0000ff]End Sub[/COLOR]
[COLOR=#0000ff]Sub [/COLOR]InsertRowBasedOnValue()
[COLOR=#0000ff]Dim[/COLOR] lrow[COLOR=#0000ff] As Long[/COLOR]
[COLOR=#008000]'Insert New Blank Summary Row Based on if values in Column A, B, C match up
[/COLOR]
lrow = Cells(Cells.Rows.Count, "A").End(xlUp).Row
Range("I2:I" & lrow) = "DeleteLater"
[COLOR=#0000ff]For[/COLOR] lrow = lrow[COLOR=#0000ff] To[/COLOR] 2 [COLOR=#0000ff]Step[/COLOR] -1
[COLOR=#0000ff] If [/COLOR]Cells(lrow, "A") & Cells(lrow, "B") & Cells(lrow, "C") <> _
Cells(lrow - 1, "A") & Cells(lrow - 1, "B") & Cells(lrow - 1, "C") [COLOR=#0000ff]Then[/COLOR]
Rows(lrow).EntireRow.Insert
[COLOR=#008000] 'Insert Values in New Summary Row for Columns A - E[/COLOR]
Cells(lrow, 1) = Cells(lrow + 1, 1)[COLOR=#008000] 'Column A[/COLOR]
Cells(lrow, 2) = Cells(lrow + 1, 2) [COLOR=#008000]'Column B...etc[/COLOR]
Cells(lrow, 3) = Cells(lrow + 1, 3)
Cells(lrow, 4) = Cells(lrow + 1, 4)
Cells(lrow, 5) = Cells(lrow + 1, 5)
[COLOR=#0000ff] End If[/COLOR]
[COLOR=#0000ff]Next[/COLOR] lrow
[COLOR=#0000ff]End Sub[/COLOR]
[COLOR=#0000ff]Sub[/COLOR] DelRowBasedOnWord()
[COLOR=#0000ff] Dim[/COLOR] lr [COLOR=#0000ff]As Long[/COLOR]
[COLOR=#0000ff] Dim[/COLOR] i [COLOR=#0000ff]As Long[/COLOR]
lr = Range("I" & Rows.Count).End(xlUp).Row
[COLOR=#0000ff] For[/COLOR] i = lr To 1[COLOR=#0000ff] Step[/COLOR] -1
[COLOR=#0000ff] If[/COLOR] Range("I" & i).Value = "DeleteLater" [COLOR=#0000ff]Then[/COLOR] Rows(i).Delete
[COLOR=#0000ff] Next [/COLOR]i
[COLOR=#0000ff]End Sub[/COLOR]