Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Me.[B2:U16], Target) Is Nothing Then Exit Sub
Me.[W2:W16].Value = Me.[A2:A16].Value
With Me.[X2:X16]: .FormulaR1C1 = "=RANK(RC22,R2C22:R16C22)": .Value = .Value: End With
Me.[W2:X16].Sort key1:=Columns("X"), Order1:=xlAscending
End Sub