Очень нужна ваша помощь в небольшой (надеюсь) правки кода.
В просторах интернета нашел почти подходящий под себя макрос (который делит в ячейках перенесенный текст по строкам на отдельные строки), который работает в исходном файле (1) и не работает когда перекладываю на свой файл (2).
Вроде просто изменить диапазон и все, но нет, не работает.
Добрый день, уважаемые участники форума.
Очень нужна ваша помощь в небольшой (надеюсь) правки кода.
В просторах интернета нашел почти подходящий под себя макрос (который делит в ячейках перенесенный текст по строкам на отдельные строки), который работает в исходном файле (1) и не работает когда перекладываю на свой файл (2).
Вроде просто изменить диапазон и все, но нет, не работает.Anis625
With Range("A1").CurrentRegion x = .Value ReDim y(1 To UBound(x) * 6, 1 To UBound(x, 2))
For i = 1 To UBound(x) For Each v In Split(x(i, 4), Chr(10)) k = k + 1 y(k, 1) = x(i, 1) y(k, 2) = x(i, 2) y(k, 3) = x(i, 3) y(k, 4) = v Next v Next i .Resize(k).Value = y End With End Sub
[/vba]
Anis625, привет так пойдет? [vba]
Код
Sub ertert() Dim x, y(), i&, k&, v
With Range("A1").CurrentRegion x = .Value ReDim y(1 To UBound(x) * 6, 1 To UBound(x, 2))
For i = 1 To UBound(x) For Each v In Split(x(i, 4), Chr(10)) k = k + 1 y(k, 1) = x(i, 1) y(k, 2) = x(i, 2) y(k, 3) = x(i, 3) y(k, 4) = v Next v Next i .Resize(k).Value = y End With End Sub
Как раз то, что "доктор прописал" =) Исправил *6 на *1000 (т.к. строк в таблице больше) и сработало так как нужно и даже лучше сразу с заполнением. Спасибо Вам огромное. Такого варианта в просторах интернета не находил.
nilem,
Как раз то, что "доктор прописал" =) Исправил *6 на *1000 (т.к. строк в таблице больше) и сработало так как нужно и даже лучше сразу с заполнением. Спасибо Вам огромное. Такого варианта в просторах интернета не находил.Anis625
пожалста ) Кстати, 6 - это кол-во разнесенных строк в одной ячейке. Т.е. из одной строки у нас получается в среднем 6 строк. Поэтому *1000 - наверное, лишнего.
пожалста ) Кстати, 6 - это кол-во разнесенных строк в одной ячейке. Т.е. из одной строки у нас получается в среднем 6 строк. Поэтому *1000 - наверное, лишнего.nilem