Страницы: 1
RSS
Разбить текст с ячейки по новым строкам
 
Здравствуйте ! Подскажите пожалуйста как с этим справиться !

Есть ссылки на фото в одной ячейке с разделителем ","   (в прикрепленном файле столбец AF)
Нужно разделить так чтобы каждая ссылка была в новой строке

Благодарю !
 
Добрый день.
Покажите в примере, как должен выглядеть конечный результат. Надо ли добавлять строки, повторять инфо по товару, какое? и т.д.
Пару строк - вот как есть, вот как нужно.
Кому решение нужно - тот пример и рисует.
 
Код
Sub РазбитьТекст()
    Dim arr As Variant
    If Selection.Cells.Count = 1 Then
        ReDim arr(1 To 1, 1 To 1)
        arr(1, 1) = Selection.Value
    Else
        arr = Selection
    End If
    
    Dim v As Variant
    Dim brr As Variant
    Dim crr As Variant
    ReDim brr(1 To 10000, 1 To 1)
    Dim y As Long
    Dim u As Long
    For y = 1 To UBound(arr, 1)
        If Not IsEmpty(arr(y, 1)) Then
            crr = Split(arr(y, 1), ",")
            If IsArray(crr) Then
                For Each v In crr
                    u = u + 1
                    brr(u, 1) = Trim(v)
                Next
            End If
        End If
    Next
    
    Workbooks.Add(1).Sheets(1).Cells(1, 1).Resize(UBound(brr, 1), UBound(brr, 2)) = brr
End Sub
Выделить ячейки, запустить макрос.
 
МатросНаЗебре, Использовал ваш макрос , он разбивает ячейку по строкам, но при этом создает новый файл

https://docs.google.com/spreadsheets/d/1xMclsM2VxDDKnvvXCO8MSzUTinHB-b7Af3YDM4-Ec6w/edit?usp=sharing
вот ссылка на него там 2 листа , на первом исходные данные , на втором так как надо реализовать

Благодарю за понимание !
 
Доступ к файлу закрыт.
Скажите, вам правда сложно сделать файл-пример внятный?
Кому решение нужно - тот пример и рисует.
 
pq
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    a = Table.Distinct(Table.ExpandListColumn(Table.TransformColumns(Source, {"Изображения", Splitter.SplitTextByDelimiter(", ")}), "Изображения"), "Изображения")
in
    a
 
Позвольте вмешаться.

Антон, а можно реализовать ваше решение на VBA:

разбитие содержимого ячейки на строки и создание под них повторяющиехся строк (значения из других столбцов)?
Изменено: Anton Korzun - 16.04.2021 00:17:49
 
Anton Korzun,

на VBA вообще возможно все, но это в разы сложнее по сравнению с Power Query
 
Evhenii Che Может такой вариант устроит. В файле не все столбцы захватит код возмите ниже одно значение в 4 строке изменено
Код
Sub RazdValueCellsColumns()
Dim XX, ZZ, Tp, i&, j&, n1&, kof&, k1&, Raz2&, RazV1&, kSt&, nStl&, Rz$
nStl = 32: Rz = ",": RazV1 = 10000
kSt = Cells(Rows.Count, 1).End(xlUp).Row: XX = Range(Cells(1), Cells(kSt, 82))
Raz2 = UBound(XX, 2): ReDim ZZ(1 To RazV1, 1 To Raz2)
For i = 1 To UBound(XX)
Tp = Split(XX(i, nStl), Rz)
    For k1 = 0 To UBound(Tp)
    n1 = n1 + 1
        For j = 1 To Raz2
If j = nStl Then ZZ(n1, j) = Tp(k1) Else ZZ(n1, j) = XX(i, j)
        Next j
    Next k1
Next i
With Sheets(2).[A1].Resize(n1, Raz2): .Value = ZZ: .EntireRow.RowHeight = 15: End With
Sheets(2).Activate
End Sub
Изменено: Евгений Смирнов - 16.04.2021 10:11:27
Страницы: 1
Наверх