Private sub Worksheet_Change(Byval Target as Range)
if not intersect(target, Range("B:B")) is nothing then Range("A1:C" & Range("A" & rows.count).end(xlup).row).sort _
    Key:=Range("B1"), Order:=xldescending
end sub