Forum Discussion
ChrisHanisch
Dec 09, 2022Copper Contributor
Split text in columns
Hi I have a column with texts like this: 1 x 64-907-10 1 x 64-0-28268-01 1 x 64-949-19 1 x 96-51-420-11 1 x 96-52-420-11 1 x 97-50-120-12 1 x 97-57-103-24 1 x A1-11-701-50 1 x A1-18...
- Dec 09, 2022
Make sure that there are enough empty columns to the right of the data.
Select the data, then run the following macro:
Sub SplitEm() Dim rng As Range Dim s As String Dim c As Long Dim a() As String Dim i As Long Dim b() As String Dim j As Long Application.ScreenUpdating = False For Each rng In Selection.Columns(1).Cells c = 0 s = Replace(rng.Value, Chr(160), " ") a = Split(s, Space(2)) For i = 0 To UBound(a) b = Split(a(i), " x ") For j = 0 To UBound(b) rng.Offset(0, c).Value = b(j) c = c + 1 Next j Next i Next rng Application.ScreenUpdating = True End Sub
PeterBartholomew1
Dec 10, 2022Silver Contributor
Another possible 365 solution.
= REDUCE({"Qty","Code"}, column,
LAMBDA(acc, text,
VSTACK(
acc,
WRAPROWS(TEXTSPLIT(text, {" ", "x"}, , TRUE), 2)
)
)
)
to give
- PeterBartholomew1Dec 10, 2022Silver Contributor
... or miss out the WRAPROWS to get ...