Public Sub Reformat()
Dim rng As Range
Dim lastrow As Long
Dim i As Long
With ActiveSheet
lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row
.Range("K3:M3").Value = Array("In game", "On cart", "tmp")
.Range("K4").Resize(lastrow - 3, 2).Formula = "=IF(SUMIF($A$4:$A$45,$A4,I$4:I$45)=0,"""",SUMIF($A$4:$A$45,$A4,I$4:I$45))"
.Range("M4").Resize(lastrow - 3).Formula = "=COUNTIF($A$3:$A3,$A4)>0"
.Range("I3").Resize(lastrow - 2).Copy
.Range("K3").Resize(lastrow - 2, 2).PasteSpecial Paste:=xlPasteFormats
With .Range("K3").Resize(lastrow - 2, 2)
.Value = .Value
End With
Set rng = .Range("M3").Resize(lastrow - 2)
rng.AutoFilter Field:=1, Criteria1:="TRUE"
On Error Resume Next
Set rng = rng.SpecialCells(xlCellTypeVisible).Areas(2)
On Error GoTo 0
If Not rng Is Nothing Then rng.EntireRow.Delete
.Columns("M").Delete
.Columns("I:J").Delete
End With
End Sub