这是一个奇怪的问题。
所以我有一个工作簿,它使用了一些用户定义的函数(用 VBA 编写),可以进行简单的求和。这些工作正常。
但是,当我打开第二个工作簿时,所有这些 UDF 的输出都会更改为 #VALUE!。如果我用 ctrl + alt + F9 重新计算工作簿,UDF 会输出它们的正确值。
由于重新计算工作正常,并且函数没有抛出任何错误,我不(认为)问题出在 VBA 代码上......有人知道为什么会这样吗?
注意:我打开第二个文件并不重要,所有工作簿都具有相同的效果。
已解决 问题是 UDF 像这样设置工作表对象:
Set Sheet = Worksheets("sample_name")
这需要更改为:
Set Sheet = ThisWorkbook.Worksheets("sample_name")