Try this (not pretty, but it should work)
Sub FormatSummary()
Dim lngRowLast As Long
' find last row
lngRowLast = Range("A1").SpecialCells(xlCellTypeLastCell).Row
' replace lines in summary
Cells.Replace What:= _
"+--------------------------------------------------------------------------------------------------+" _
, Replacement:="", LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:= _
False, SearchFormat:=False, ReplaceFormat:=False
Cells.Replace What:="?", Replacement:="", LookAt:=xlPart, SearchOrder:= _
xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Range("A1").Select
' loop thru text
Do
' capture start of group and group summary
Select Case ActiveCell.Offset(0, 1).Value
Case -40 To -1
Selection.Delete Shift:=xlToLeft
ActiveCell.Offset(1, 0).Select
Selection.EntireRow.Insert
End Select
Select Case ActiveCell.Offset(0, 2).Value
Case -40 To -1
Range(Selection, Selection.Offset(0, 1)).Delete Shift:=xlToLeft
ActiveCell.Offset(1, 0).Select
Selection.EntireRow.Insert
End Select
' remove 2 consecutive blank rows
If ActiveCell.Formula = "" And ActiveCell.Offset(-1, 0).Formula = "" Then
Selection.EntireRow.Delete
lngRowLast = lngRowLast - 1
Else
ActiveCell.Offset(1, 0).Select
End If
Loop Until ActiveCell.Row > lngRowLast
End Sub