Somthing like this? It's about my limit, so not smart or concise
Sub MrLsSortingMacro()
'Get Range
Dim rng As Range
Set rng = Application.InputBox("Select a range", "Obtain Range Object", Type:=8)
'Evaluate Range String
lrng = Len(rng.Address)
colwidth = InStr(2, rng.Address, "$", 1)
lenadd = InStr(1, rng.Address, ":", 1)
colwidth2 = InStr(lenadd + 2, rng.Address, "$", 1)
'Set Left Column Range
lcol = Left(rng.Address, lenadd - 1) & ":" & Left(rng.Address, colwidth - 1) & Right(rng.Address, lrng - colwidth2)
'Sort
ActiveWorkbook.ActiveSheet.Sort.SortFields.Add2 Key:=Range(lcol) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.ActiveSheet.Sort
.SetRange Range(rng.Address)
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub