Вставьте 88-ю пустую строку (автофильтр в Excel чересчур умный иногда бывает) и
[vba]Код
Private Sub Worksheet_Change(ByVal Target As Range)
r_ = 87
If Лист2.Range("G4:G" & r_).AutoFilter Then'сделано только на тот случай, если уже стоит автофильтр
Лист2.Range("G4:G" & r_).AutoFilter
End If'после первого запуска If - End If не обязательно
Лист2.Range("G4:G" & r_).AutoFilter Field:=1, Criteria1:="<>0", VisibleDropDown:=False
End Sub
[/vba]
Или можно просто пробегаться по столбцу G и скрывать нулевые ячейки. Но это дольше. Хотя, на таком объеме незаметно будет.