[vba]

Private Sub Worksheet_Change(ByVal Target As Range)
Const WS_RANGE As String = "I2" '<<<< change to suit
Dim rng As Range
Dim Lastrow As Long

On Error GoTo ws_exit

Application.EnableEvents = False

If Not Intersect(Target, Me.Range(WS_RANGE)) Is Nothing Then

Lastrow = Me.Cells(Me.Rows.Count, "B").End(xlUp).Row
Set rng = Me.Range("B1").Resize(Lastrow)
rng.AutoFilter field:=1, Criteria1:=Format(Target.Value, Me.Range("B2").NumberFormat)
Set rng = rng.Offset(1, 0).Resize(Lastrow - 1)
End If

ws_exit:
Application.EnableEvents = True
End Sub
[/vba]

This is worksheet event code.
To implement it, select the sheet tab, right click, and
select View Code.
Paste this code into the code module that opens in the
VBIDE.
Then close the VBIDE and test it in Excel.