Try:
Code:
Sub blah()
'Set rngToSort = Range("A2:A36")
'Set rngToSort = Selection
Set rngToSort = Range(Cells(2, "A"), Cells(Rows.Count, "A").End(xlUp))
rngToSort.Value = Application.SortBy(rngToSort, Evaluate("LEN(" & rngToSort.Address(external:=True) & ")"), -1)
End Sub
Set
rngToSort any way you like - a few examples at the top of the macro. Apart from that it's a one-liner.