Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.08.2012, 19:01   #1
EvgeniyaR
Новичок
Джуниор
 
Регистрация: 03.08.2012
Сообщений: 2
По умолчанию Разбивка ячеек на строки

Добрый день.
Задача - разбить значения ячейки, разделённые Alt+Enter, на соответствующее количество строк.
Знач1;
Знач2;
Знач3;


Код следующий:
Sub Splitcell()
Dim arrS() As String
Dim intI As Integer
arrS = Split(ActiveCell.Value, Chr(10))
For intI = LBound(arrS) To UBound(arrS)
ActiveCell.Offset(intI, 0).Value = arrS(intI)
Next intI
End Sub

Работает, но в случае, если под ячейкой есть строка с данными, соответственно, данные в ней заменяются. Таким образом, необходимо, чтобы в случае наличия под разбиваемой ячейкой строки с данными добавлялось нужное количество строк.
Подскажите, как код дополнить.
Спасибо.
EvgeniyaR вне форума Ответить с цитированием
Старый 08.08.2012, 19:53   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Вы бы прикрепили пример файла - мы бы сделали макрос
(а то тестировать макрос не на чем)

Сколько примерно строк в обрабатываемом файле?
EducatedFool вне форума Ответить с цитированием
Старый 08.08.2012, 20:14   #3
EvgeniyaR
Новичок
Джуниор
 
Регистрация: 03.08.2012
Сообщений: 2
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Вы бы прикрепили пример файла - мы бы сделали макрос
(а то тестировать макрос не на чем)

Сколько примерно строк в обрабатываемом файле?
Прикрепила файл.
Интересует столбец D, с остальными, думаю, разберусь при наличии примера.
Вложения
Тип файла: rar ex.rar (14.9 Кб, 27 просмотров)
EvgeniyaR вне форума Ответить с цитированием
Старый 08.08.2012, 21:59   #4
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Пробуйте. Но это только для D
Код:
Sub SplitcellD()
Dim arrS() As String
Dim i&
For i = Cells(Rows.Count, "D").End(xlUp).Row To 1 Step -1
    arrS = Split(Cells(i, "D").Value, ";" & vbLf)
    If UBound(arrS) > 0 Then
        Range(Rows(i + 1), Rows(i + UBound(arrS))).Insert
        Cells(i, "D").Resize(UBound(arrS) + 1).Value = Application.Transpose(arrS)
    End If
Next i
End Sub
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 08.08.2012, 22:17   #5
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Что-то мне подсказывает, что не только столбец D надо разделять...

Например, для этой строки, сколько строк должно получится?

EducatedFool вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разбивка длинной строки на подстроки. zabej C# (си шарп) 0 16.02.2012 16:02
Разбивка строки на части ForzaJuve Общие вопросы C/C++ 2 01.11.2010 23:12
Asm. Разбивка строки на две части levis07 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 30.03.2010 14:30
Разбивка строки на лексемы Proger_1 Общие вопросы C/C++ 3 29.03.2010 20:38
Разбивка строки в Delphi Slava Помощь студентам 7 30.06.2009 09:05