Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range, lngCalc As Long
If Target.Address <> "$M$1" Then Exit Sub
If Me.FilterMode Then Me.ShowAllData
If Target.Value = "" Then Exit Sub
With Application
.ScreenUpdating = False
lngCalc = .Calculation
.Calculation = xlCalculationManual
End With
Set r = Range("A1:H" & Cells(Rows.Count, "A").End(xlUp).Row)
With r
.AdvancedFilter xlFilterInPlace, Range("Crit")
End With
Application.Calculation = lngCalc
End Sub
|