Hi,
you can achieve your objective with the below code: try this.. Please make the changes for the data range
Sub modTexttoColumn()
Dim rngData As Range
Dim varData As Variant
Dim lngCount As Long
Dim lngMaxLen As Long
Dim varOutput As Variant
Dim lngChartLen As Long
Set rngData = ThisWorkbook.Worksheets("Sheet1").Range("A1:A10")
If rngData.Columns.Count = 1 Then
varData = rngData
For lngCount = LBound(varData) To UBound(varData)
If Len(varData(lngCount, 1)) > lngMaxLen Then
lngMaxLen = Len(varData(lngCount, 1))
End If
Next
End If
ReDim varOutput(1 To rngData.Rows.Count, 1 To lngMaxLen)
For lngCount = LBound(varData) To UBound(varData)
For lngChartLen = 1 To Len(varData(lngCount, 1))
varOutput(lngCount, lngChartLen) = Mid(varData(lngCount, 1), lngChartLen, 1)
Next
Next
rngData.Cells(1, 1).Resize(UBound(varOutput, 1), UBound(varOutput, 2)) = varOutput
End Sub
Bookmarks