Страницы: 1
RSS
Разбить данные ячейки на несколько строк"
 
Здравствуйте. Может кто подскажет. Есть таблица с данными. В первом столбце указаны название компаний, во втором номера телефонов, их несколько, разделены между собой запятой с пробелом. Нужно разделить эти номера телефонов в отдельную строку, но чтобы название этой компании дублировалось к каждому разделенному номеру.
Изменено: Юрий М - 08.07.2021 12:52:26
 
Bandersnatch, а файл-пример где? и загляните все таки в правила, там и о файле,  названии темы...
вот у меня вышло так - макросом
Изменено: Mershik - 08.07.2021 07:11:01
Не бойтесь совершенства. Вам его не достичь.
 
Доброе утро! Смотрите Данные-Текст по столбцам
 
Цитата
Mershik написал: вот у меня вышло так - макросом
Извиняюсь за некорректность размещения вопроса. Подскажите пожалуйста, что за макрос?  
Изменено: vikttur - 08.07.2021 14:59:54
 
Bandersnatch,
Цитата
Mershik написал: загляните все таки в правила
а еще  - на картинке разделить  запятая+пробел, а в файле пробел...
Изменено: vikttur - 08.07.2021 15:00:23
Не бойтесь совершенства. Вам его не достичь.
 
PQ  с этим справляется на уровне новичка

"разбить данные ячейки на несколько строк"
Изменено: Vik_tor - 08.07.2021 12:52:37
 
попробуйте так:
 
Vik_tor, Alice Sadman, а куда вы торопитесь? Или замечание уже устранено? Ваши сообщения скрыты.
Изменено: Юрий М - 08.07.2021 12:50:38
 
Юрий М, я как бы предложил название темы. может не очень конечно
 
Vik_tor, извиняюсь - не заметил. Вы в следующий раз как-нибудь указывайте, что предлагается новое название.
Ранее скрытые сообщения отображаются.
 
Bandersnatch,
Код
Sub mrshkei()
Dim arr, arr2, arr3, i As Long, n As Long, lr As Long
lr = Cells(Rows.Count, 1).End(xlUp).Row
arr = Range("A2:B" & lr)
ReDim arr3(1 To lr * 20, 1 To 2): k = 1
For i = LBound(arr) To UBound(arr)
    arr2 = Split(arr(i, 2), " ")
    For n = LBound(arr2) To UBound(arr2)
        arr3(k, 1) = arr(i, 1)
        arr3(k, 2) = CStr(arr2(n))
        k = k + 1
    Next n
Next i
Range("C1").Resize(UBound(arr3), 2).NumberFormat = "@"
Range("C1").Resize(UBound(arr3), 2) = arr3
End Sub
Не бойтесь совершенства. Вам его не достичь.
 
Спасибо всем огромное за помощь, буду пробовать. И ещё раз извиняюсь за некорректное оформление, впредь буду внимательней.
 
Код
компания:
=ФИЛЬТР.XML("<j><i>"&ПОДСТАВИТЬ(ПСТР(ПОВТОР(A2&СИМВОЛ(1);ДЛСТР(B2)-ДЛСТР(ПОДСТАВИТЬ(B2;",";""))+1);1;ДЛСТР(ПОВТОР(A2&СИМВОЛ(1);ДЛСТР(B2)-ДЛСТР(ПОДСТАВИТЬ(B2;",";""))+1))-1);СИМВОЛ(1);"</i><i>")&"</i></j>";"//i")
тел.:
="+"&ФИЛЬТР.XML("<j><i>"&ПОДСТАВИТЬ(B2;", ";"</i><i>")&"</i></j>";"//i")
Страницы: 1
Наверх