为什么我的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

请您先登陆,再发跟帖!