Загрузка и форматирование веб-данных с помощью Excel VBA - PullRequest
0 голосов
/ 01 октября 2010

Мне нужна помощь в создании макроса VBA, который загружает данные о цене закрытия непосредственно с веб-сайта Historical Quotes Yahoo Finance и импортирует данные в столбец электронной таблицы Excel.

Справочная информация: Это ссылка на базу данных исторических финансов Yahoo Finance -

Для загрузки в виде файла TXT: http://ichart.finance.yahoo.com/table.txt?s="StockTicker"&d="EndingMonth"&e="EndingDay"&f="EndingYear"&g=d&a="EndingMonth"&b="EndingDay"&c="EndingYear"&ignore=.txt

Проблема с форматированием: По умолчанию, т. Е. С помощью мастера импорта веб-данных Excel, Excel импортирует всю таблицу, которая содержит больше столбцов, чем необходимо. Я пытаюсь выделить столбец «закрыть». Я создал макрос, который форматирует таблицу, чтобы изолировать столбец «закрыть», но этот макрос требует, чтобы я вручную загружал данные из Yahoo Finance в виде txt-файла:

Sub Test_DownloadTextFile()
    Dim text As String
    'The variables for this URL (in light blue) should be retrieved from the spreadsheet, i.e. "StockTicker" will reference a cell with the ticker symbol "AAPL" in it and that will appear in the URL'
    text = DownloadTextFile("http://ichart.finance.yahoo.com/table.txt?s="StockTicker"&d="EndingMonth"&e="EndingDay"&f="EndingYear"&g=d&a="EndingMonth"&b="EndingDay"&c="EndingYear"&ignore=.txt")

    'At this point I should have the historical quotes table stored in the variable text. How do I select the 4th column and import it into a specific spreadsheet column?'
    Debug.Print text
  End Sub

Как мне создать макрос, который: 1. Ссылка на электронную таблицу для ключевых переменных, например, "StockTicker", "EndingMonth" и т. Д. 2. Загружает соответствующие исторические данные из Yahoo Finance 3. Импортирует данные цены закрытия в виде одного столбца в электронную таблицу

Я был бы очень признателен за практическое решение этой проблемы. Дайте мне знать, если мне нужно уточнить мой вопрос или задачу под рукой. Спасибо!

Ответы [ 2 ]

2 голосов
/ 01 октября 2010

Предложение: похоже, это идеальный случай для веб-запроса.
У вас есть причина не использовать это? После этого вы можете скопировать только нужные вам столбцы. Вы не указали свою версию Excel, но в 2003 году она находится в разделе Данные / Импорт внешних данных.

1 голос
/ 01 октября 2010

Проверьте это ТАКОЕ обсуждение .Несколько предложений, которые кажутся стоящими.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...