Looking back at previous examples the below should give you an idea, this is assuming the ID was in column F:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim tmpStr As String
If Not Intersect(Target, Range("G2:G1000")) Is Nothing Then
If Range("Q" & Target.Row) = "0" Or Range("Q" & Target.Row) = "1" Then
tmpStr = Range("F" & Target.Row).Value
Range("F1:G1000").Sort Key1:=Range("G2"), Order1:=xlAscending, Header:=xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("F:F").Find(tmpStr, , , xlWhole).Offset(, 1).Select
tmpStr = vbNullString
End If
End If
End Sub
Hope this helps