Excel数据表重复结果

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

数据表是使用以下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个场景。

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

这些模型通常保存在不同的模型设置中,并在不同的Excel实例中同时运行。 他们通常也运行在多个用户可以login的远程计算机上,启动一些模型,然后断开连接并让它们在后台运行。 这些电脑有8个内核,所以可以同时运行多达8个型号。 有时候,模型会在不同的Excel实例中使用一个写入VB脚本的macros来打开并启动,然后由一个.bat文件启动。

我很难可靠地复制错误。 我所理解的一个理论是,当运行更多的Excel模型比远程计算机中有内核时,Excel在数据表过程中冻结,并且不能总是在某些情况下完成它的计算,因此它吐出与当前相同的结果存储。 但是,我不太了解Excel的内部工作方式,以确定这是否合理。

有没有其他人遇到过重复结果的数据表? 如果你更了解数据表的机制,你知道什么可能会导致这个错误,以及如何防止在未来?

如果您需要关于错误的更多信息,或者我试图找出原因,请告诉我。 谢谢!