Страницы: 1
RSS
одну ячейку в 2 столбца и n-количество.строк
 
добрый день. подскажите пожалуйста, как в данном файле графу B разбить на 2 столбца, так что бы текст характеристики был по строкам, но при этом следующий товар начинался после последней строки характеристики предыдущего товара
 
Покажите в примере, хотя бы на 2-3 строках, как вы себе видите конечный результа: Вот как есть, вот как надо.
Кому решение нужно - тот пример и рисует.
 
Вариант на PQ
где такое я уже видел..
В жизни нет ничего невозможного! Есть только недостаток знаний и умений.
 
А как вы так сделали?
 
Подскажите как осуществить данную операцию? а именно шаги как обрезать текст и очистить текст
 
m.kochukov, макрос (без изменения шапки таблицы):
Код
Sub aaa()
Dim arr(), a&, b&, c&, aa As Range, t$, dd, d&
With ActiveSheet
  Set aa = Intersect(.UsedRange, .Rows("2:" & .Cells(.Rows.Count, 1).End(xlUp).Row))
End With
For a = 1 To aa.Rows.Count
  c = 0: Do While InStr(c + 1, aa(a, 2), ":"): c = InStr(c + 1, aa(a, 2), ":"): b = b + 1: Loop
Next
ReDim arr(1 To b, 1 To aa.Columns.Count + 1): c = 1
For a = 1 To aa.Rows.Count
  t = Replace(aa(a, 2), "   ", "|"): dd = Split(t, "|")
  For d = 0 To UBound(dd)
    For b = 1 To aa.Columns.Count
      Select Case b
        Case Is = 1: arr(c, b) = aa(a, b)
        Case Is > 2: arr(c, b + 1) = aa(a, b)
        Case Else
          arr(c, b) = LTrim(Left$(dd(d), InStr(dd(d), ":")))
          arr(c, b + 1) = RTrim(LTrim(Right$(dd(d), Len(dd(d)) - InStr(dd(d), ":"))))
      End Select
    Next
    c = c + 1
  Next
Next
[A2].Resize(UBound(arr), UBound(arr, 2)) = arr
End Sub
Страницы: 1
Наверх