VBA Excel sort range by specific column
If the starting cell of the range and of the key is static, the solution can be very simple:
Range("A3").SelectRange(Selection, Selection.End(xlToRight)).SelectRange(Selection, Selection.End(xlDown)).SelectSelection.Sort key1:=Range("B3", Range("B3").End(xlDown)), _order1:=xlAscending, Header:=xlNo