1

我的 Excel 宏出现性能问题。一段特定的代码运行速度非常慢。我认为原因是Offset功能。我在网上发现它是一个可变函数,它会重新计算很多。
奇怪的是我将它用作 VBA 函数,所以我无法弄清楚它会如何影响性能,因为它永远不需要重新计算。

这就是我使用偏移功能的方式:

For i=0 To 10
 For P=0 To 3
  For T=0 To 3
    Range("C9").Offset(6 * i + T, P).Value = effect(i,P,T)
  Next
 Next
Next

有更快的(非易失性?)替代方案吗?

4

1 回答 1

8

你有没有尝试过Cells(row,column).Value = ...

显然,您需要调整rowcolumn考虑您在 C9 (9,3) 的起始位置

您还确定该功能effect()不是瓶颈吗?

更新:

你也试过吗

Application.Calculation = xlCalculationManual
    ....Your Code....
Application.Calculation = xlCalculationAutomatic
于 2010-09-17T09:51:12.817 回答