我收到运行时错误'91':每当我尝试运行下面的代码时,对象变量或块变量都没有设置。当我从代码中列出的注释掉的网站中提取数据时,此代码非常有用。但是,当我尝试在谷歌财务网站上使用它时,我得到了这个错误。谁能看到我做错了什么?我使用以下VBA:
Sub test()
Dim oDom As Object: Set oDom = CreateObject("htmlFile")
Dim x As Long, y As Long
Dim oRow As Object, oCell As Object
Dim data
y = 1: x = 1
With CreateObject("msxml2.xmlhttp")
'http://www.bundesbank.de/Navigation/EN/Statistics/Time_series_databases/Macro_economic_time_series/its_details_value_node.html?tsId=BBNZ1.Q.DE.Y.G.0000.A&listId=www_s311_b4_vgr_verw_nominal
.Open "GET", "http://finance.yahoo.com/q/hp?s=GOOG+Historical+Prices", False
.Send
oDom.body.innerHtml = .responseText
End With
With oDom.getElementsByTagName("table")(0)
ReDim data(1 To .Rows.Length, 1 To .Rows(1).Cells.Length)
For Each oRow In .Rows
For Each oCell In oRow.Cells
data(x, y) = oCell.innerText
y = y + 1
Next oCell
y = 1
x = x + 1
Next oRow
End With
Sheets(1).Cells(1, 1).Resize(UBound(data), UBound(data, 2)).Value = data
End Sub
答案 0 :(得分:1)
视图源中有多个表标记。我不得不改变,
oDom.getElementsByTagName("table")(0)
' to
oDom.getElementsByTagName("table")(14)
...让它使用正确的表格标签。