2015-05-15 2 views
0

Я пытаюсь назвать информацию от Yahoo Finance, но я продолжаю получать сообщение об ошибке, которую я пытаюсь использовать, не дает никакой информации. Однако, когда я вручную помещаю url в я получаю данные, и когда я использую этот url в файле .iqy, он работает. Я получил следующий код vba, когда я записал макрос, но макрос не запускается.QueryTable не создается

Sub GetandArrangeData() 
' 
' GetandArrangeData Macro 
' 
' Keyboard Shortcut: Option+Cmd+b 
' 
    With ActiveSheet.QueryTables.Add(Connection:= _ 
     "URL;http://real-chart.finance.yahoo.com/table.csv?s=1112.HK&d=4&e=15&f=2015&g=d&a=5&b=27&c=2000&ignore=.csv" _ 
     , Destination:=Range("C3")) 
     .PostText = "MSN MoneyCentral Stock Quotes_1" 
     .Name = False 
     .FieldNames = False 
     .RefreshStyle = xlInsertDeleteCells 
     .RowNumbers = False 
     .FillAdjacentFormulas = False 
     .HasAutoFormat = True 
     .RefreshOnFileOpen = 1 
     .BackgroundQuery = False 
     .TablesOnlyFromHTML = True 
     .SaveData = True 
     .Refresh BackgroundQuery:=False 
     .UseListObject = False 
    End With 
    Columns("C:C").Select 
    Selection.TextToColumns Destination:=Range("C1"), DataType:=xlDelimited, _ 
     TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ 
     Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _ 
     :=Array(Array(1, 5), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 9), _ 
     Array(7, 9)) 
    Columns("D:F").Select 
    Selection.EntireColumn.Hidden = True 
End Sub 

Я получаю следующую ошибку каждый раз, когда:

enter image description here

По какой-то причине амперсанды в URL пропадают, не знаю, почему.

+0

Я не уверен, поэтому не ответ, а несколько возможностей: 1) попробуйте удвоить '&' to '&&', 2) попробуйте экранировать '&' с '\ &', 3) попробуйте заменив '&' на '' & chr (38) & "'. Опять же, только некоторые догадки. В какой строке это происходит? – FreeMan

+0

Спасибо! двойной амперсанд работает, но я нашел еще одну проблему, которая заключалась в том, что я использовал URL вместо TEXT, так как адрес представляет собой файл csv. Спасибо вам за помощь :) –

ответ

0

Для полноты копирования ответа от комментария к здесь:

Замените & с в строке URL с && с.

Смежные вопросы