alphabetizing/sorting text within a cell

  • Thread starter Thread starter patrickchen
  • Start date Start date
P

patrickchen

hi,

does anybody know how to alphabetize groups of words within a cell (by
first letter of the word)?

for instance, in a cell i have the words "dog bird cat" and after
alphabetization it would come out as "bird cat dog"

any help would be appreciated :) thanks
 
You could use Text To Columns (delimiter = space) to split the data. Then
use Excel's sort (Data/Sort), and concatenate the items back together into
one string. Another possibility is to try a User Defined Function.

Function MySort(rngCell As Range) As String
Dim arrData As Variant
Dim i As Long
Dim t As Long
Dim strTemp As String

arrData = Split(rngCell.Value, " ", -1, vbTextCompare)

For i = LBound(arrData) To UBound(arrData) - 1
For t = i + 1 To UBound(arrData)
If LCase(CStr(arrData(t))) < LCase(CStr(arrData(i))) Then
strTemp = arrData(i)
arrData(i) = arrData(t)
arrData(t) = strTemp
End If
Next t
Next i

MySort = Join(arrData, " ")

End Function
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top