使用VBA将多个网页中的数据提取到Excel中

时间:2013-03-01 23:15:53

标签: excel vba excel-vba

我是宏的新手并尝试将以下网页中的数据提取到excel中。来自以下链接的数据跨越7页(约3500行)。我需要将这些数据存入我的excel工作手册。

http://www.moneycontrol.com/stocks/hist_stock_result.php?ex=N&sc_id=RI&pno=1&hdn=daily&fdt=2000-01-01&todt=2013-03-01

我在excel中尝试过网络数据导入功能。但是,由于未知原因无法做到这一点。请有人帮忙.....

1 个答案:

答案 0 :(得分:2)

以下代码对我有用。它应该从网站上获取1-7页并将每个页面粘贴到单独的Excel表格中。

Private Const URL_TEMPLATE As String = "URL;http://www.moneycontrol.com/stocks/hist_stock_result.php?sc_id=RI&pno={0}&hdn=daily&fdt=2000-01-01&todt=2013-03-01"
Private Const NUMBER_OF_PAGES As Byte = 7

Sub test()
    Dim page As Byte
    Dim queryTableObject As QueryTable
    Dim url As String

    For page = 1 To NUMBER_OF_PAGES
        url = VBA.Strings.Replace(URL_TEMPLATE, "{0}", page)
        Set queryTableObject = ActiveSheet.QueryTables.Add(Connection:=url, Destination:=ThisWorkbook.Worksheets.Add.[a1])
        queryTableObject.WebSelectionType = xlSpecifiedTables
        queryTableObject.WebTables = "3"
        queryTableObject.Refresh
    Next page

End Sub