【发布时间】:2014-02-26 23:20:54
【问题描述】:
我有一个基于 excel 的模型,用于我的论文。为了加快速度,我已经对原来的它进行了相当多的修改,但我现在几乎放弃了优化它。该模型打开 excel 工作簿并复制数据并关闭它们等。
我正在考虑尝试使用此模型进行大约 1000-2000 次模拟,但模型运行所需的时间从最初几次运行的大约 60 秒到大约 60 次运行后的 100 多秒。如果我关闭并重新打开excel,那么时间会再次下降。我已经阅读了优化 VBA 代码并尝试尽可能多地实现。我已经放了
Application.CutCopyMode = False
在每次循环结束时清除剪贴板。从那以后,我试图通过诸如
之类的方式绕过剪贴板Workbooks("Master").Range().value = Workbooks("Module").Range().value
而不是复制和粘贴。然而,所有这些似乎对我的模型的运行几乎没有影响,我的模型仍然越来越慢。
关于下一步我可以尝试什么的任何想法?
=========编辑====================
这是代码的两个粘贴箱:
Master Spreadsheet 具有单步执行和运行每个模块的代码
SubCatchment Module 是一个由 master 运行的示例模块
【问题讨论】:
-
请发布您的代码
-
我们需要查看更多代码。
-
我不知道要发布什么代码。许多模块和工作簿中有很多内容
-
要么做一些测试以找出哪部分代码运行缓慢,要么将您的文档上传到某处并发布链接。
标签: vba excel optimization