返回列表 上一主題 發帖

股票資料匯入,程式執行有問題

股票資料匯入,程式執行有問題

本帖最後由 GBKEE 於 2016-6-17 05:03 編輯

模仿版大編改一個程式

但匯入有時會停止中斷,停止的位置不一定

我懷疑是記憶體不足,該如何改呢?
  1. Sub 歷史股價更新()
  2.     Dim xTable As Object, k As Integer, c As Integer, r As Integer, rc As Integer, sn As Integer
  3.     Dim url As String, i As Integer, E As Object
  4.     With Sheets("營運績效")
  5.           .UsedRange.Clear
  6.     End With
  7.     Sheets("總表").Select
  8.     rc = Cells(Rows.Count, 1).End(xlUp).Row
  9.     For i = 5 To rc
  10.     sn = Cells(i, 1)

  11.     url = "http://goodinfo.tw/StockInfo/StockBzPerformance.asp?STOCK_ID=" & sn & " &YEAR_PERIOD=10&RPT_CAT=M_YEAR"
  12.          With CreateObject("InternetExplorer.application")
  13.         .Visible = True
  14.         .Navigate url

  15.         Do While .Busy Or .readyState <> 4: DoEvents: Loop
  16.         Set xTable = .Document.getElementsByTagName("TABLE")(11) '資料在這
  17.         With Sheets("營運績效")

  18.             k = k + 1
  19.             For r = 0 To xTable.Rows.Length - 1
  20.                 For c = 0 To xTable.Rows(r).Cells.Length - 1
  21.                     .Cells(k, c + 1) = xTable.Rows(r).Cells(c).innertext
  22.                 Next
  23.                 k = k + 1
  24.             Next
  25.         End With
  26.         Set xTable = .Document.getElementsByTagName("TABLE")(13) '資料在這
  27.         With Sheets("營運績效")

  28.             k = k + 1
  29.             For r = 0 To xTable.Rows.Length - 1
  30.                 For c = 0 To xTable.Rows(r).Cells.Length - 1
  31.                     .Cells(k, c + 1) = xTable.Rows(r).Cells(c).innertext
  32.                 Next
  33.                 k = k + 1
  34.             Next
  35.         End With
  36.         Set xTable = .Document.getElementsByTagName("TABLE")(19) '資料在這
  37.         With Sheets("營運績效")

  38.             k = k + 1

  39.              For r = 0 To 3
  40.                 For c = 0 To xTable.Rows(r).Cells.Length - 1
  41.                     .Cells(k, c + 1) = xTable.Rows(r).Cells(c).innertext
  42.                 Next
  43.                 k = k + 1
  44.             Next
  45.         End With
  46.         .Quit
  47.     End With
  48.     Next
  49. End Sub
複製代碼

回復 4# c_c_lai
樓上大大

我的股票清單有50個,分批資料該如何處

我的程式是因為我的網路速度問題?有時捉到清單第3、4個,有時可捉到第20幾個

TOP

        靜思自在 : 小事不做、大事難成。
返回列表 上一主題