為什麽我的VBA程序運行這麽慢?

我用VBA編了個在Excel裏運行的股票交易模型,不大,也就一二百行。其實就是一個大約1000次的循環,一個循環對應一個股票,在每個循環中需要調用一個Function, 這個Function的功能是下載Yahoo上的這個股票數據(就是Time, Open, High, Low, Close, Volume),我隻下載兩個月的數據,不是很多。然後根據這兩個月的數據做些很簡單的加減乘除計算。
在我自己家的電腦上Run一次竟然需要2個小時。我辦公室的電腦上需要大約5分鍾。
我的電腦(半年前買的)配置:Processor: Pentium (R)Dual-Core CPU E5300@2.6GHz RAM: 2.00GB

我辦公室電腦大概6個月前買的,化了$500,我隻記得Processor是3.0GHz。

關鍵是我這個交易模型是興趣愛好,辦公室幹的是別的活,所以我隻能在家裏電腦上做. 這麽慢的速度讓人無法忍受。我留意Code 運行時,絕大部分時間耗在從YAHOO 下載股票數據上了。辦公室的電腦運行時間短,主要原因是下載得特別快。我家裏網絡是Verizon,用的是Optic Fiber, 比寬帶速度還要快幾倍。我公司用的是AOL.不太清楚具體是什麽。
我對電腦不太懂,如果我想提高運行速度,應該怎麽辦?如果將來買新電腦,應該選什麽樣的?
謝謝。

所有跟帖: 

先下載所有數據/文件,再處理,你就知道問題在哪裏了 -?ttу- 給 ?ttу 發送悄悄話 ?ttу 的博客首頁 (0 bytes) () 08/26/2010 postreply 17:06:36

挺起來很厲害啊。可能yahoo跟你公司在同一個骨幹網 -flywhc- 給 flywhc 發送悄悄話 flywhc 的博客首頁 (634 bytes) () 08/27/2010 postreply 03:46:10

家裏沒準是無線網,信號弱掉數據包問題比較嚴重 -?ttу- 給 ?ttу 發送悄悄話 ?ttу 的博客首頁 (0 bytes) () 08/27/2010 postreply 09:24:03

果然是懂Windows編程的,LZ既然都能VBA了,改成VB來調用socket或http的控件 -企鵝肥肥- 給 企鵝肥肥 發送悄悄話 企鵝肥肥 的博客首頁 (46 bytes) () 08/27/2010 postreply 23:32:04

試下在C#下用VSTO -寂寞遠行客- 給 寂寞遠行客 發送悄悄話 寂寞遠行客 的博客首頁 (89 bytes) () 08/27/2010 postreply 21:34:05

請您先登陸,再發跟帖!