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

Вход

Регистрация

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

 

= Мир MS Excel/разнести текст по строкам - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » разнести текст по строкам (Макросы/Sub)
разнести текст по строкам
skais Дата: Четверг, 30.05.2019, 10:27 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 236
Репутация: 29 ±
Замечаний: 20% ±

Excel 2010
Если текст с кучей строк сохранить в тхт файл и потом открыть его в еxcel - to excel автоматически разнесет его по строкам. Как сделать тоже самое но напрямую через VBA из переменной с текстом с кучей строк сразу в столбец по строкам. Может я иду не тем путем, мне это нужно для парсинга данных с сайта. Думал разнести их по строкам и потом обработать. Может есть прямые пути преобразования?
К сообщению приложен файл: text_to_rows.xlsm (13.0 Kb)
 
Ответить
СообщениеЕсли текст с кучей строк сохранить в тхт файл и потом открыть его в еxcel - to excel автоматически разнесет его по строкам. Как сделать тоже самое но напрямую через VBA из переменной с текстом с кучей строк сразу в столбец по строкам. Может я иду не тем путем, мне это нужно для парсинга данных с сайта. Думал разнести их по строкам и потом обработать. Может есть прямые пути преобразования?

Автор - skais
Дата добавления - 30.05.2019 в 10:27
_Boroda_ Дата: Четверг, 30.05.2019, 10:37 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Блин, как в первый раз вопрос задаете.
Где эта "куча строк"? Как данные попадают в переменную? Есть ли они на листе Excel? Каким должен быть нужный итоговый результат? Где он должен быть? Почему нет примера того, что нужно?


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеБлин, как в первый раз вопрос задаете.
Где эта "куча строк"? Как данные попадают в переменную? Есть ли они на листе Excel? Каким должен быть нужный итоговый результат? Где он должен быть? Почему нет примера того, что нужно?

Автор - _Boroda_
Дата добавления - 30.05.2019 в 10:37
RAN Дата: Четверг, 30.05.2019, 10:47 | Сообщение № 3
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеSplit?

Автор - RAN
Дата добавления - 30.05.2019 в 10:47
skais Дата: Четверг, 30.05.2019, 10:49 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 236
Репутация: 29 ±
Замечаний: 20% ±

Excel 2010
Boroda_ В моем примере в ячейке A1 есть текст с кучей строк, думал получить ответ как из этой ячейки к примеру загнать данные в столбец B но уже по строкам.
Ну а если точнее, то открою вопрос по шире и прикладываю новый пример. Мне нужно чтобы данные получились как в файле Pagettext, но без манипуляций с текстовым файлом. То есть пременная txt сразу в столбец A построчно, аналогично файлу PageText.
К сообщению приложен файл: ParsingSite3.xlsm (22.1 Kb)


Сообщение отредактировал skais - Четверг, 30.05.2019, 10:51
 
Ответить
СообщениеBoroda_ В моем примере в ячейке A1 есть текст с кучей строк, думал получить ответ как из этой ячейки к примеру загнать данные в столбец B но уже по строкам.
Ну а если точнее, то открою вопрос по шире и прикладываю новый пример. Мне нужно чтобы данные получились как в файле Pagettext, но без манипуляций с текстовым файлом. То есть пременная txt сразу в столбец A построчно, аналогично файлу PageText.

Автор - skais
Дата добавления - 30.05.2019 в 10:49
skais Дата: Четверг, 30.05.2019, 10:57 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 236
Репутация: 29 ±
Замечаний: 20% ±

Excel 2010
RAN Спасибо за наводку, однако он как-то не совсем разносит по строкам (последний код в Вашем примере). Казалось, если он так делает с текстовым файлом, может есть какие-то решения? Или каким образом лучше парсить эту инфу?
 
Ответить
СообщениеRAN Спасибо за наводку, однако он как-то не совсем разносит по строкам (последний код в Вашем примере). Казалось, если он так делает с текстовым файлом, может есть какие-то решения? Или каким образом лучше парсить эту инфу?

Автор - skais
Дата добавления - 30.05.2019 в 10:57
_Boroda_ Дата: Четверг, 30.05.2019, 11:09 | Сообщение № 6
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Так нужно? Тоже Сплитом
[vba]
Код
Sub tt()
    txt = GetHTTPResponse("https://health-diet.ru/base_of_meals/meals_21253/?utm_source=leftMenu&utm_medium=base_of_meals")
    ar = Split(txt, vbLf)
    n_ = UBound(ar)
    If n_ Then
        ReDim ar1(0 To UBound(ar), 0 To 0)
        For i = 0 To UBound(ar)
            ar1(i, 0) = ar(i)
        Next i
        Cells(1, 1).Resize(n_ + 1) = ar1
    End If
End Sub
Function GetHTTPResponse(ByVal sURL As String) As String
    On Error Resume Next
    Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
    With oXMLHTTP
        .Open "GET", sURL, False
        .send
        GetHTTPResponse = .responseText
    End With
    Set oXMLHTTP = Nothing
End Function
[/vba]
К сообщению приложен файл: ParsingSite3_1.xlsm (19.8 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак нужно? Тоже Сплитом
[vba]
Код
Sub tt()
    txt = GetHTTPResponse("https://health-diet.ru/base_of_meals/meals_21253/?utm_source=leftMenu&utm_medium=base_of_meals")
    ar = Split(txt, vbLf)
    n_ = UBound(ar)
    If n_ Then
        ReDim ar1(0 To UBound(ar), 0 To 0)
        For i = 0 To UBound(ar)
            ar1(i, 0) = ar(i)
        Next i
        Cells(1, 1).Resize(n_ + 1) = ar1
    End If
End Sub
Function GetHTTPResponse(ByVal sURL As String) As String
    On Error Resume Next
    Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
    With oXMLHTTP
        .Open "GET", sURL, False
        .send
        GetHTTPResponse = .responseText
    End With
    Set oXMLHTTP = Nothing
End Function
[/vba]

Автор - _Boroda_
Дата добавления - 30.05.2019 в 11:09
skais Дата: Четверг, 30.05.2019, 11:26 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 236
Репутация: 29 ±
Замечаний: 20% ±

Excel 2010
Boroda_, RAN Спасибо большое! Вопрос решен!
 
Ответить
СообщениеBoroda_, RAN Спасибо большое! Вопрос решен!

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

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