Страницы: 1
RSS
Разделить данные в ячейке и поместить часть в ячейку ниже макросом
 
Здравствуйте, вроде не сложный вопрос, но в интернете по поиску ищется абсолютно не то. Суть вопроса: На листе есть столбец,в ячейках данные формата ХХХ, УУУ. Задача: Внутри столбца отделить данные "УУУ" и поместить их в ячейку ниже "родительской". В столбце порядка 300к строк, поэтому думаю оптимальным решением должен быть макрос,но не нахожу, как его реализовать. Спасибо за внимание! ;)
 
Цитата
i.arkin написал:
На листе есть столбец,в ячейках данные формата ХХХ, УУУ
приложите пример строк на 10. Лень рисовать файл с данными, чтоб в нем потом писать макрос. пример должен показывать что хотите. Вот так есть сейчас, а хочу, чтоб было вот так. Чем нагляднее, тем быстрее помощь..)
 
прикрепляю пример
 
1. Загрузить данные в массив
2. Задать массив результатов, размерность с запасом
3. Ну а дальше циклы
Код
r=1
for i = 1 to ubound(ПервыйМассив,1)
    for each tel in split(ПервыйМассив(i,1),",")
        ВторойМассив(r,1) = tel 
        r=r+1
    next
next

4. Выгрузить ВторойМассив на лист
 
Код
Sub nm()
Dim mass()
For i = 3 To Cells(Rows.Count, 1).End(xlUp).Row
    s = Split(Cells(i, 1).Value, ",")
    If Cells(i, 1).Value = "" Then
        a = a + 1
        ReDim Preserve mass(1 To a)
        mass(a) = ""
    End If
    For j = LBound(s) To UBound(s)
        a = a + 1
        ReDim Preserve mass(1 To a)
        mass(a) = s(j)
    Next
Next
Range("D3").Resize(a, 1).Value = Application.Transpose(mass)
End Sub
 
yozhik, спасибо большое! Работает,как надо! Только почему-то заменяет, начиная с 3 строки. Но это не критично
 
Цитата
i.arkin написал:
начиная с 3 строки
ну у Вас в примере данные с третьей, вот и заменяет с третьей)
Код
For i = 3 To 
вот тут 3 подправьте на чего Вам надо, 1 или 2
Код
Range("D3").Resize
и тут - выгружает, начиная с D3, можете любую другую ячейку указать
Изменено: yozhik - 13.04.2018 14:21:47
Страницы: 1
Наверх