Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Разделение текста в ячейки по условию (перенос строки) - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Разделение текста в ячейки по условию (перенос строки)
Anis625 Дата: Вторник, 16.07.2019, 17:36 | Сообщение № 1
Группа: Заблокированные
Ранг: Ветеран
Сообщений: 674
Репутация: 31 ±
Замечаний: 20% ±

Excel 2013
Добрый день, уважаемые участники форума.

Очень нужна ваша помощь в небольшой (надеюсь) правки кода.

В просторах интернета нашел почти подходящий под себя макрос (который делит в ячейках перенесенный текст по строкам на отдельные строки), который работает в исходном файле (1) и не работает когда перекладываю на свой файл (2).

Вроде просто изменить диапазон и все, но нет, не работает.
К сообщению приложен файл: 4681400.xlsb (17.7 Kb) · 7081773.xlsb (14.0 Kb)
 
Ответить
СообщениеДобрый день, уважаемые участники форума.

Очень нужна ваша помощь в небольшой (надеюсь) правки кода.

В просторах интернета нашел почти подходящий под себя макрос (который делит в ячейках перенесенный текст по строкам на отдельные строки), который работает в исходном файле (1) и не работает когда перекладываю на свой файл (2).

Вроде просто изменить диапазон и все, но нет, не работает.

Автор - Anis625
Дата добавления - 16.07.2019 в 17:36
nilem Дата: Вторник, 16.07.2019, 20:24 | Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
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
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
Сообщение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
[/vba]

Автор - nilem
Дата добавления - 16.07.2019 в 20:24
Anis625 Дата: Среда, 17.07.2019, 08:02 | Сообщение № 3
Группа: Заблокированные
Ранг: Ветеран
Сообщений: 674
Репутация: 31 ±
Замечаний: 20% ±

Excel 2013
nilem,

Как раз то, что "доктор прописал" =)
Исправил *6 на *1000 (т.к. строк в таблице больше) и сработало так как нужно и даже лучше сразу с заполнением.
Спасибо Вам огромное. Такого варианта в просторах интернета не находил.
 
Ответить
Сообщениеnilem,

Как раз то, что "доктор прописал" =)
Исправил *6 на *1000 (т.к. строк в таблице больше) и сработало так как нужно и даже лучше сразу с заполнением.
Спасибо Вам огромное. Такого варианта в просторах интернета не находил.

Автор - Anis625
Дата добавления - 17.07.2019 в 08:02
nilem Дата: Среда, 17.07.2019, 08:08 | Сообщение № 4
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
пожалста )
Кстати, 6 - это кол-во разнесенных строк в одной ячейке. Т.е. из одной строки у нас получается в среднем 6 строк. Поэтому *1000 - наверное, лишнего.


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениепожалста )
Кстати, 6 - это кол-во разнесенных строк в одной ячейке. Т.е. из одной строки у нас получается в среднем 6 строк. Поэтому *1000 - наверное, лишнего.

Автор - nilem
Дата добавления - 17.07.2019 в 08:08
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!