Excel – 打开第二个文件将所有UDF输出设置为#VALUE

这是一个奇怪的。

所以我有一个工作簿,它使用了一些用户定义的函数(用VBA编写),做简单的总和。 这些工作正常。

但是,当我打开第二个工作簿时,所有这些UDF的输出都变为#VALUE !. 如果我用ctrl + alt + F9重新计算工作簿,UDF输出正确的值。

由于重新计算工作正常,并没有抛出任何错误的function,我不认为这个问题是与VBA代码…任何人都知道这是为什么发生?

注意:打开第二个文件并不重要,所有的工作簿都有相同的效果。

已解决问题是UDF设置这样的工作表对象:

Set Sheet = Worksheets("sample_name") 

这需要更改为:

 Set Sheet = ThisWorkbook.Worksheets("sample_name")