Скачать данные из Yahoo финансов, чтобы преуспеть с помощью VBA

У меня есть этот код VBA, который загружает данные из Yahoo Yahoo на лист Excel, но проблема в том, что иногда он работает отлично, а иногда я получаю сообщение об ошибке "невозможно загрузить с" URL ".." в зависимости от компьютера, который я использую, и числа данных я выбираю для загрузки.

Вот некоторые значения для переменной акции: VTI, EEM, IWM, DBC, BND, googl, AAPL, ESRX, BAC, INTC, AMD.... Это прекрасно работает, когда я ставлю 5 или меньше, но с 6 или больше я иногда получаю ошибку выше.

Переменные sday/smonth/syear предназначены для даты начала, а eday/... - конец, s должен быть старше, чем e.

Я нашел решение, я использую Doevents, он работает на 100% на 64-разрядных Excel. Но у меня все еще есть проблема в Excel 32 бит

Sheets.Add.Name = "Inter"


sday = Day(Sheets("Interface").Cells(4, 4).Value)
smonth = Month(Sheets("Interface").Cells(4, 4).Value) - 1
syear = Year(Sheets("Interface").Cells(4, 4).Value)
eday = Day(Sheets("Interface").Cells(5, 4).Value)
emonth = Month(Sheets("Interface").Cells(5, 4).Value) - 1
eyear = Year(Sheets("Interface").Cells(5, 4).Value)

For j = 2 To n + 1
stock = Sheets("Stocks").Cells(1, j).Value
'MsgBox stock
Worksheets("Inter").Activate
'Columns("A:G").ClearContents


 With ActiveSheet.QueryTables.Add(Connection:= _
    "TEXT;http://chart.finance.yahoo.com/table.csv?s=" & stock & "&a=" &     smonth & "&b=" & sday & "&c=" & syear & "&d=" & emonth & "&e=" & eday & "&f=" & eyear & "&g=m&ignore=.csv" _
    , Destination:=Range("$A$1"))
    .Name = "table1"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .TextFilePromptOnRefresh = False
    .TextFilePlatform = 437
    .TextFileStartRow = 1
    .TextFileParseType = xlDelimited
    .TextFileTextQualifier = xlTextQualifierDoubleQuote
    .TextFileConsecutiveDelimiter = True
    .TextFileTabDelimiter = True
    .TextFileSemicolonDelimiter = False
    .TextFileCommaDelimiter = True
    .TextFileSpaceDelimiter = False
    .TextFileColumnDataTypes = Array(5, 1, 1, 1, 1, 1, 1)
    .TextFileTrailingMinusNumbers = True
    .Refresh BackgroundQuery:=False
End With

0 ответов

Другие вопросы по тегам