Perhaps something along the lines of:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngInterest As Range, xlCalc As XlCalculation
On Error GoTo ExitPoint
Set rngInterest = Intersect(Range("B1:B4"), Target)
If Not rngInterest Is Nothing Then
With Application
xlCalc = .Calculation
.ScreenUpdating = False
.Calculation = xlCalculationManual
.EnableEvents = False
With Sheet1.Range("A7", "G77")
.AutoFilter
.AutoFilter 1, Range("B1").Value
.AutoFilter 6, "<" & CDbl(Range("B2").Value)
.AutoFilter 4, ">=" & CDbl(Range("B3").Value)
.AutoFilter 5, "<=" & CDbl(Range("B4").Value)
End With
ExitPoint:
Set rngInterest = Nothing
.ScreenUpdating = True
.Calculation = xlCalc
.EnableEvents = True
End With
End If
End Sub
Bookmarks