By GUEST во вторник, 24 декабря 2019 г.
Опубликовано в Excel
Ответы 1
Лайк 0
Просмотры 12.4K
Голосов 0
Использование VBA для преобразования моей строки запятой в строки отлично работает, но теперь мне нужно сопоставить разрыв со значением в столбце A. Пример
В столбце A есть «Деревья: в столбце B была строка с запятой: кизил, ясень, клен, вяз, яблоко.
Как отображать как:
[шрифт=калибри]Текущий[/шрифт]
[шрифт=калибри]Деревья[/шрифт][шрифт=калибри]Кизил, ясень, клен, вяз, яблоко[/шрифт]
[шрифт=калибри]Необходимость[/шрифт]
[шрифт=калибри]Деревья[/шрифт][шрифт=калибри]Кизил[/шрифт]
[шрифт=калибри]Деревья[/шрифт][шрифт=калибри]ясень[/шрифт]
[шрифт=калибри]Деревья[/шрифт][шрифт=калибри]Клен[/шрифт]
[шрифт=калибри]Деревья[/шрифт][шрифт=калибри]Вяз[/шрифт]
[шрифт=калибри]Деревья[/шрифт][font=Calibri]Яблоко [/font]
спасибо
Публичный подтекстToColumns()
Установите ARange = Range("A:A")
Установите BRange = Диапазон ("B: B")
Установите CRange = Диапазон ("C: C")
Установите DRange = Range("D:D")
Dim arr() как строка
lr = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Установить = Рабочие листы.Добавить
вне.Имя = "вне"
исходная строка = 2
Для i = 2 To lr
    arr = Разделить (ARange (i), ",")
    Для j = 0 To UBound(arr)
        out.Cells(outRow, 1) = Trim(arr(j))
        out.Cells(outRow, 2) = BRANge(i)
        out.Cells(outRow, 3) = CRANge(i)
        out.Cells(outRow, 4) = DRange(i)
        исходящая строка = исходящая строка + 1
    Следующий j
Затем я
End Sub
Я не делал заголовки и не работал должным образом с выходным листом, но в основном вы можете видеть, что происходит.
·
3 лет назад
·
0 Любит
·
0 Голосов
·
0 комментариев
·
Посмотреть сообщение полностью