Try this:
Option Explicit
Sub Cols2Rows1()
Dim sInputCell As String, sOutputString As String
Dim rng As Range, i As Integer
sInputCell = "A1"
Set rng = ThisWorkbook.Worksheets(1).Range(sInputCell)
rng = "A;C;B;M;U;E;N;D"
rng.TextToColumns Destination:=rng, DataType:=xlDelimited, _
TextQualifier:=xlNone, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar:=";"
ThisWorkbook.Worksheets(1).Range(rng, rng.End(xlToRight)).Copy
Set rng = ThisWorkbook.Worksheets(2).Range(sInputCell)
rng.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
rng.Sort Key1:=rng, Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
i = 1
Do While ThisWorkbook.Worksheets(2).Range("A" & i) <> ""
sOutputString = sOutputString & ThisWorkbook.Worksheets(2).Range("A" & i) & ";"
i = i + 1
Loop
sOutputString = Left(sOutputString, Len(sOutputString) - 1)
ThisWorkbook.Worksheets(1).Cells.Clear
ThisWorkbook.Worksheets(2).Cells.Clear
ThisWorkbook.Worksheets(1).Range(sInputCell) = sOutputString
MsgBox "Sorted!"
End Sub