Страницы: 1
RSS
Разгруппировать список компонентов, записанных через запятую
 
Здравствуйте.
Имеется таблица с перечнем компонентов, сгруппированных через запятую по номиналу. Нужно разбить так, чтобы в каждой строке стояло по одному компоненту с его значением.
Если разбивать инструментом "Текст по столбцам", то растянет в строку, а мне нужно, как в примере. (версия Excell 2016) Транспонирование требует заранее задать количество строк, а оно может быть разным.
Можно ли решить эту задачу средствами Экселя и как?  
 
Вариант на Power Query.
Скрытый текст
Изменено: PooHkrd - 14.12.2020 15:00:10
Вот горшок пустой, он предмет простой...
 
Код
Sub ТекстПоСтрокам()
    Dim arr As Variant
    Dim ar2 As Variant
    Dim ar3 As Variant
    If Selection.Cells.Count = 1 Then
        arr = Selection.Resize(1, 2)
    Else
        arr = Selection.Areas(1).Columns("A:B")
    End If
    
    Dim rOut As Range
    Set rOut = Selection.Cells(1)
    Dim i As Long
    Dim y As Long
    For y = 1 To UBound(arr, 1)
        If arr(y, 1) <> "" Then
            ar2 = Split(arr(y, 1), ",")
            ReDim ar3(1 To UBound(ar2) + 1, 1 To 2)
            For i = 0 To UBound(ar2)
                ar3(i + 1, 1) = Trim(ar2(i))
                ar3(i + 1, 2) = arr(y, 2)
            Next
            rOut.Resize(UBound(ar3, 1), UBound(ar3, 2)) = ar3
            Set rOut = rOut.Cells(UBound(ar3, 1) + 1, 1)
        End If
    Next
End Sub
Вариант макросом.
 
Здравствуйте. Еще вариант макросом.
Скрытый текст
Изменено: Пытливый - 14.12.2020 15:18:16
Кому решение нужно - тот пример и рисует.
Страницы: 1
Наверх