Загальнодоступний підтекстToColumns()
Встановити ARrange = діапазон ("A:A")
Встановити BRange = Range("B:B")
Встановити CRange = Range("C:C")
Встановити DRange = Range("D:D")
Dim arr() Як рядок
lr = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Установити = Робочі аркуші.Додати
out.Name = "out"
позаряд = 2
Для i = 2 До lr
arr = Split(ARrange(i), ",")
Для j = 0 до UBbound(arr)
out.Cells(outRow, 1) = Обрізати(arr(j))
out.Cells(outRow, 2) = BRrange(i)
out.Cells(outRow, 3) = CRange(i)
out.Cells(outRow, 4) = DRrange(i)
вихідний ряд = вихідний ряд + 1
Наступний j
Далі я
End Sub
Я не робив заголовків і не працював належним чином з вихідним аркушем, але ви можете побачити, в основному, що відбувається.