Hi Ham,
Maybe something like:
Hope this helpsPrivate Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("G2:G1000")) Is Nothing Then If Range("Q" & Target.Row) = 0 Or Range("Q" & Target.Row) = 1 Then Range("G1:G1000").Sort Key1:=Range("G2"), Order1:=xlAscending, Header:=xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom End If End If End Sub