excel cell update时如何避免循环引用

时间:2010-03-03 07:13:45

标签: excel vba

我正在用c ++编写一组函数,可以通过excel调用。但是,这些函数是异步的,因此没有可用的立即返回值。一旦结果可用,我就通过VBA使用了一个回调函数,它将结果更新到调用函数的相关单元格。

但是,这里我有循环函数调用问题,因为当我更新单元格时。 excel再次自动调用原始函数。请帮我解决这个问题

谢谢

2 个答案:

答案 0 :(得分:1)

如果不了解有关程序数据流的更多信息,则无法详细回答。何时调用c ++函数,将哪些数据传递给它们以及何时更新相关单元格?

无论如何,你是如何调用C ++函数的?如果是通过VBA,请尝试关闭自动计算:

MyWorkSheet.EnableCalculation = False

然后在回调结束时将其重新打开:

MyWorkSheet.EnableCalculation = True

答案 1 :(得分:0)

如果您可以使用代码示例来解释您正在尝试做什么,那就更好了。

是什么意思

  

传递当前的单元格引用

如果我的理解是正确的,那么你试图再次将函数的返回值传递给函数本身。这是一个循环参考。因为,当函数返回一个值时,单元格值会更新,然后导致重新评估任何具有更新的单元格引用的函数作为输入参数,导致函数在循环中调用!