Как разбить данные из ячейки на несколько строк?

Автор shatun, 08.07.2014, 15:31

« назад - далее »

shatun

Размещаю сразу в платном разделе т.к. уже на бесплатную поддержку не очень надеюсь.
Сразу оговорюсь: печальный опыт не с вашего форума.
Итак уже есть готовый код от ктулху АКА ikki и думаю будет справедливо если он и поможет
сам код:
Sub t()   
  Dim i&, j&, k&, n&, a, b, x   
  a = [a1].CurrentRegion.Value   
  For i = 1 To UBound(a)   
    n = n + Len(a(i, 2)) - Len(Replace(a(i, 2), ",", "")) + 1   
  Next 
  ReDim b(1 To n, 1 To UBound(a, 2)): n = 0   
  For i = 1 To UBound(a)   
    x = Split(a(i, 2), ",")   
    For j = 0 To UBound(x)   
      n = n + 1   
      For k = 1 To UBound(a, 2)   
        If k = 2 Then b(n, 2) = x(j) Else b(n, k) = a(i, k)   
      Next 
    Next 
  Next 
  Sheets(2).[a1].Resize(UBound(b), UBound(b, 2)).Value = b   
End Sub

Всё работает разбирая весь массив данных (во втором листе результат), но для меня немного другая задача. Очень нужно чтобы повторяющиеся позиции также разбивались построчно..

В выборе важна последовательность
в примере:
Комбайн красный, Комбайн зелёный, Комбайн синий | 1111, 2222, 3333
результат:
Комбайн красный = 1111
Комбайн зелёный = 2222
Комбайн синий = 3333
Сер. номера пишут в том же порядке, но если нет сер. номера, обычно пишут б/н
Тогда:
Комбайн красный, Комбайн зелёный, Комбайн синий | 1111, б/н, 2222
результат:
Комбайн красный = 1111
Комбайн зелёный = б/н
Комбайн синий = 3333
Здесь всё работает.

Однако может и не быть серийного номера и тогда могут в конце вообще ничего не написать.
Например так:
Комбайн красный, Комбайн зелёный, Комбайн синий | 1111, 2222
Возможен такой результат:
Тогда результат может быть таким:
Комбайн красный = 1111
Комбайн зелёный = 2222
Комбайн синий = б/н

Можно рассчитывать на помощь?

RAN

ктулху АКА ikki здесь бывает крайне редко.
Если вам нужно его решение, то ждите.
Если просто решение - пишите, через пару часов смогу заняться.

ikki


RAN

Ну извини!
Я посмотрел, ты последний раз был в прошлом годе.
Мне показалось, что раз в год - это не часто.  :)

ikki

Цитата: RAN от 08.07.2014, 22:08
Ну извини!
да незашто.
я пароль забыл.
заходил как гость.
а сейчас пришлось восстановить.

кстати, я и на программерсе забыл.
но там он нифига не восстанавливается - не приходит письмо.