2013-11-02 85 views
0

我试图从以下网页中将数据提取到excel中。从下面的链接数据跨越到7页(约3500行)。我需要这些数据到我的Excel工作手册中。将多个网页中的数据提取到Excel中 - 使用VBA - Excel冻结

www.moneycontrol.com/stocks/hist_stock_result.php?ex=N & sc_id = RI & PNO = 1 & HDN =每日& FDT = 2000-01-01 &托德= 2013年11月1日

我已经使用了下面的宏来下载相同的....不幸的是,由于未知原因,宏让Microsoft 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-11-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 

回答

0

我测试过我的系统,它工作得很好。这似乎是发生的事情是:

  1. 代码迅速执行
  2. 系统读取基于Web的数据源 - 这一步的速度取决于你的互联网连接速度

我得到“ExternalData_1 :“在单元格A1而发生这种情况,并且在之间的状态栏开关的信息:

‘获取数据... Web数据复制到片材’ 和 ‘刷新’

从我执行到完成我的系统从南非通过2Mbps ADSL互联网连接所花费的总时间约为24秒。

我使用Excel 2007

相关问题