返回列表 上一主題 發帖

[發問] 能否同時執行二個巨集程式

1101~9999,需要很多時間(假設4hr)
不會吧?要這麼多時間?
1101~9999中真正有數據的只有945筆
我做同樣的操作只有幾分鐘。
  1. Sub Macro1()
  2.     Dim arr(), i%, j%, x, y
  3.     t = Timer
  4.     ActiveSheet.UsedRange.Offset(1, 0) = ""
  5.     For i = 1101 To 9999
  6.         With CreateObject("Microsoft.XMLHTTP")
  7.             .Open "get", "http://tw.stock.yahoo.com/q/q?s=" & i, False
  8.             .send
  9.             On Error Resume Next
  10.             k = .responsetext

  11.             x = Split(Split(k, " href=""/q/bc?s=" & i & "")(1), "<")(0)
  12.             If Err.Number = 0 Then
  13.                 m = m + 1
  14.                 ReDim Preserve arr(1 To 11, 1 To m)
  15.                 arr(1, m) = Mid(x, 2)
  16.                 For j = 1 To 10
  17.                     y = Split(Split(k, "<td align=""center"" bgcolor=""#FFFfff"" nowrap>")(j), "</")(0)
  18.                     arr(j + 1, m) = y
  19.                 Next
  20.                 arr(6, m) = Split(arr(6, m), ">")(1)
  21.             End If
  22.         End With
  23.     Next
  24.     Cells(2, 1).Resize(m, 11) = Application.Transpose(arr)
  25.     MsgBox Timer - t
  26. End Sub
複製代碼

TOP

        靜思自在 : 世上有兩件事不能等:一、孝順 二、行善。
返回列表 上一主題