Страницы: 1
RSS
Разбить значения в ячейках на строки
 
Добрый день!

Нужна помощь в такой задаче. Имеется массив данных (A:C), который нужно обработать до состояния (G:H). Начальный массив может быть в несколько тысяч строк.



1) Разбить столбец заказов на отдельные значения.
2) Убрать везде лишние пробелы, если они есть.
3) Для каждого номера заказа сохранить комментарий / совокупность двух комментариев через символ "-". Где комментариев нет - оставить пустоту.
4) Сделать новый лист, куда будет выводиться обработанный массив

Спасибо!
 
Код
Sub Button1_Click()
    Application.ScreenUpdating = False
        arr = Range("A2:C" & Cells(Rows.Count, 1).End(xlUp).Row).Value
        With Sheets(2)
            lr = .Cells(.Rows.Count, 1).End(xlUp).Row
            If lr > 1 Then .Range("A2:B" & lr).ClearContents
            cr = 2
            For i = 1 To UBound(arr)
                s = Split(arr(i, 3), "/")
                For j = 0 To UBound(s)
                    .Cells(cr, 1) = s(j)
                    If arr(i, 1) <> "" And arr(i, 2) <> "" Then
                        .Cells(cr, 2) = arr(i, 1) & "-" & arr(i, 2)
                    Else
                        .Cells(cr, 2) = arr(i, 1) & arr(i, 2)
                    End If
                    cr = cr + 1
                Next
            Next
        End With
    Application.ScreenUpdating = True
End Sub
 
skais675, спасибо, то, что надо.
 
И формулами:
Код
=ЕСЛИОШИБКА(АГРЕГАТ(15;6;--ПСТР(ПОДСТАВИТЬ(Sheet1!C$2:C$99;"/";ПОВТОР(" ";99));СТОЛБЕЦ(Sheet1!A:J)*99-98;99);СТРОКА(A1));"")
Массивная:
Код
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(" "&ИНДЕКС(Sheet1!A:A;МИН(ЕСЛИ(ЕОШ(ПОИСК("/"&A2&"/";"/"&Sheet1!C$2:C$99&"/"));"";СТРОКА($2:$99))))&"-"&ИНДЕКС(Sheet1!B:B;МИН(ЕСЛИ(ЕОШ(ПОИСК("/"&A2&"/";"/"&Sheet1!C$2:C$99&"/"));"";СТРОКА($2:$99))))&" ";" -";);"- ";))
Комментарии только из одной строки.
 
Светлый, тоже круто. Буду изучать представленные варианты.
 
Название темы ни в дугу...
 
Тема: Разбить значения в ячейках на строки.
Изменено: skais675 - 23.10.2019 16:45:55
Страницы: 1
Наверх