Excel数据表重复结果

时间:2016-06-06 13:21:18

标签: excel excel-2010

我正在使用一个模型,该模型利用Excel中的数据表功能来处理许多场景并收集输出。但是,我偶尔会发现数据表将重复顺序场景的结果,这是不可能的。

使用以下VBA代码生成数据表:

Sheets("ProjSheet").Range(Range("DTAnchor").Offset(-1, -1),Range("DTAnchor").Offset(NumScns - 1, 1))
                   .Table ColumnInput:=Range("CurrScen")

计算模式在整个代码中都是半自动的,数据表使用Calculate进行更新。

错误的输出可能如下所示:

Scn | Result
------------
1   | 341.5
2   | 0
3   | 861.4
4   | 861.4 <- Wrong!
5   | 861.4 <- Wrong!
6   | 10.5
7   | 64.9
...

工作簿大小不超过22MB,数据表通常需要一分钟左右来完成1000个场景的流失。

我可以通过单独运行来验证任何特定方案的结果,因此我们知道这种情况下的结果不应该相同。

这些模型通常使用不同的模型设置保存,并在不同的Excel实例中同时运行。它们通常也可以在多个用户可以登录的远程计算机上运行,​​启动某些模型,然后断开连接并让它们在后台运行。这些计算机有8个内核,因此它们可以同时运行多达8个型号。有时,模型在不同的Excel实例中打开并启动,使用宏写入VB脚本,然后由.bat文件启动。

我很难可靠地复制错误。我的一个理论是,当运行的Excel模型多于远程计算机中的核心时,Excel会在数据表过程中冻结,并且无法在某些情况下完成其计算,因此它会吐出与当前相同的结果存储。但是,我对Excel的内部工作知之甚少,无法确定这是否合理。

有没有其他人遇到过重复结果的数据表?如果您对数据表的机制有更多了解,您是否知道可能导致此错误的原因以及将来如何防止此错误?

如果您需要有关错误的更多信息或我尝试确定原因的事情,请与我们联系。谢谢!

0 个答案:

没有答案