Страницы: 1
RSS
Перенос строк в ячейках, Разбить данные из ячейки, которые забиты с переносом строки через Alt+Enter, построчно
 
У меня есть данные, которые выгружаю отчетом и получаю файл excel. Но в нём есть данные в строке которые в некоторых ячейках внесены с переносом строки, и такое в нескольких столбцах. обрабатывать такую информацию очень тяжело, причем у меня более 20000 строк иной раз выходит в отчете, каждую отдельно разбивать не вариант с таким объемом. Как можно решить этот вопрос? Файл с примером данных и примером решения вопроса прилагается!
Изменено: acid26sk - 20.10.2021 16:18:23
 
acid26sk,
Код
Sub mrshkei()
Dim arr, arr2, arr3, i As Long, n As Long, lr As Long, k As Long, x As Long
lr = Cells(Rows.Count, 1).End(xlUp).Row
arr = Range("A3:F" & lr)
For i = LBound(arr) To UBound(arr)
    arr2 = Split(arr(i, 4), vbLf)
    x = x + UBound(arr2) + 1
Next i
Z = UBound(arr, 2) - LBound(arr) + 1
ReDim arr3(1 To x, 1 To Z): k = 1
For i = LBound(arr) To UBound(arr)
    arr2 = Split(arr(i, 4), vbLf)
    arr22 = Split(arr(i, 5), vbLf)
    arr222 = Split(arr(i, 6), vbLf)
    For n = LBound(arr2) To UBound(arr2)
        arr3(k, 1) = arr(i, 1)
        arr3(k, 2) = arr(i, 2)
        arr3(k, 3) = arr(i, 3)
        arr3(k, 4) = arr2(n)
        arr3(k, 5) = CDate(arr22(n))
        arr3(k, 6) = CDate(arr222(n))
        k = k + 1
    Next n
Next i
Range("H3").Resize(UBound(arr3), Z) = arr3
End Sub
Изменено: Mershik - 20.10.2021 16:49:37 (внес поправки)
Не бойтесь совершенства. Вам его не достичь.
 
Mershik Спасибо огромное помогло!!!!!!!!
Страницы: 1
Наверх