Talvez tenhamos dentro de uma célula vários nomes de uma cidade separados por vírgula, mas queremos estes nomes em colunas separadas. Como fazê-lo?
Sub ConvertTxt2Rng()
Dim sText As String, arText
Let sText = Range("c16").Value
Let arText = Split(sText, ";")
Let Range("D16:D" & CStr(16 + UBound(arText))).Value = WorksheetFunction.Transpose(arText)
End Sub

Reference: http://vbadud.blogspot.com.br/
Tags: VBA, Excel, Split, Text, Cell, Multiple, Cells, Convert Text to Array in Excel VBA, Excel VBA Transpose, Excel VBA WorksheetFunction Transpose Function