有人可以帮我指出如何通过 VBA 将特定数据从网站复制到 Excel 工作表的正确方向吗?
我尝试使用宏记录器和网络查询,但它一直显示错误脚本,并且黄色箭头没有出现在我想要复制的部分。
这是我要复制的网站http://etfdb.com/etf/EEM/#holdings
我只想复制前十大控股部分。
任何帮助将不胜感激。预先感谢您。
编辑:这是我当前的代码,但没有显示任何内容,有人可以告诉我出了什么问题吗?
Sub Get123()
Dim oHtml As HTMLDocument
Dim oElement As Object
Set oHtml = New HTMLDocument
With CreateObject("WINHTTP.WinHTTPRequest.5.1")
.Open "GET", "http://etfdb.com/etf/EEM/#holdings", False
.send
oHtml.body.innerHTML = .responseText
End With
For Each oElement In oHtml.getElementsByClassName("holdings-left-content")
ActiveSheet.Range("A1").Value = oElement.Value
Next oElement
End Sub
最佳答案
我在这里尝试了这个方法,但它对我不起作用。我发现Pull Web Page Into Worksheet来自用户 JerryD 的 Ozgrid,我将其包含在此处,以供将来引用。
Sub Test()
Dim IE As Object
Sheets("Sheet3").Select
Range("A1:A1000") = "" ' erase previous data
Range("A1").Select
Set IE = CreateObject("InternetExplorer.Application")
With IE
.Visible = True
.Navigate "http://www.aarp.org/" ' should work for any URL
Do Until .ReadyState = 4: DoEvents: Loop
End With
IE.ExecWB 17, 0 '// SelectAll
IE.ExecWB 12, 2 '// Copy selection
ActiveSheet.PasteSpecial Format:="Text", link:=False, DisplayAsIcon:=False
Range("A1").Select
IE.Quit
End Sub
关于html - VBA复制网站数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26561527/