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

Вход

Регистрация

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

 

= Мир MS Excel/разделить данные массива - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » разделить данные массива (Макросы/Sub)
разделить данные массива
mss Дата: Вторник, 08.05.2018, 17:21 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 81
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Добрый день, прошу помощи "допилить" макрос приведенный в примере. Суть вот в чем, берем в массив с листа диапазон С2:С5, в ячейках значения разделены "/", надо выгрузить на лист начиная с этих же ячеек но уже с разделением по столбцам, типа как возможности екселя данные\разделит\. Пробую сам сделать, но у меня получается что разделяет по строкам, не пойму в чем проблема и как ее решить, в примере пять строчек, а в реальном файле будет до 1000 строк и значения в ячейках будут содержать до десятка разделителей "/"
К сообщению приложен файл: 7609998.xlsm (13.8 Kb)
 
Ответить
СообщениеДобрый день, прошу помощи "допилить" макрос приведенный в примере. Суть вот в чем, берем в массив с листа диапазон С2:С5, в ячейках значения разделены "/", надо выгрузить на лист начиная с этих же ячеек но уже с разделением по столбцам, типа как возможности екселя данные\разделит\. Пробую сам сделать, но у меня получается что разделяет по строкам, не пойму в чем проблема и как ее решить, в примере пять строчек, а в реальном файле будет до 1000 строк и значения в ячейках будут содержать до десятка разделителей "/"

Автор - mss
Дата добавления - 08.05.2018 в 17:21
Pelena Дата: Вторник, 08.05.2018, 17:33 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19174
Репутация: 4413 ±
Замечаний: ±

Excel 365 & Mac Excel
Здравствуйте.
Если правильно поняла
[vba]
Код
Sub разложить()
    Dim arr
    With Sheets("Лист1")
        rw = .Cells(.Rows.Count, 3).End(xlUp).Row
        For k = 2 To rw
            arr = Split(Cells(k, 3), "/")
            For i = 0 To UBound(arr)
                .Cells(k, i + 4) = arr(i)
            Next i
        Next k
    End With
End Sub
[/vba]
К сообщению приложен файл: 2594580.xlsm (14.2 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Если правильно поняла
[vba]
Код
Sub разложить()
    Dim arr
    With Sheets("Лист1")
        rw = .Cells(.Rows.Count, 3).End(xlUp).Row
        For k = 2 To rw
            arr = Split(Cells(k, 3), "/")
            For i = 0 To UBound(arr)
                .Cells(k, i + 4) = arr(i)
            Next i
        Next k
    End With
End Sub
[/vba]

Автор - Pelena
Дата добавления - 08.05.2018 в 17:33
mss Дата: Вторник, 08.05.2018, 17:38 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 81
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Да именно так, огромное спасибо hands
 
Ответить
СообщениеДа именно так, огромное спасибо hands

Автор - mss
Дата добавления - 08.05.2018 в 17:38
_Boroda_ Дата: Вторник, 08.05.2018, 18:15 | Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16672
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Так еще можно
[vba]
Код
Sub разложить()
    Range("C2:C" & Range("C" & (Rows.Count)).End(3).Row).TextToColumns OtherChar:="/"
End Sub
[/vba]

Для 2007
[vba]
Код
Sub разложить()
    Range("C2:C" & Range("C" & (Rows.Count)).End(3).Row).TextToColumns Other:=True, OtherChar:="/"
End Sub
[/vba]
см. файл _2
К сообщению приложен файл: 7609998_1.xlsm (14.3 Kb) · 7609998_2.xlsm (13.2 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак еще можно
[vba]
Код
Sub разложить()
    Range("C2:C" & Range("C" & (Rows.Count)).End(3).Row).TextToColumns OtherChar:="/"
End Sub
[/vba]

Для 2007
[vba]
Код
Sub разложить()
    Range("C2:C" & Range("C" & (Rows.Count)).End(3).Row).TextToColumns Other:=True, OtherChar:="/"
End Sub
[/vba]
см. файл _2

Автор - _Boroda_
Дата добавления - 08.05.2018 в 18:15
Мир MS Excel » Вопросы и решения » Вопросы по VBA » разделить данные массива (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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