Код макроса:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A2:J5")) Is Nothing Then
On Error Resume Next
ActiveSheet.ShowAllData
Range("A7").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("A1").CurrentRegion
End If
End Sub