我有一个Excel工作簿宏模板(.xltm),其中大量VBA UDF用于整个工作表;没什么大的或复杂的。这些函数被声明为Public,并保存在同一工作簿的模块中。 该模板已经使用了多年,创建了工作簿(.xlsm),其中的功能始终可以正常运行。 现在,打开模板进行一些升级,我发现丑陋的#NAME!包含我的一个UDF的每个单元中的错误;如果我尝试在单元格中插入一个函数,则找不到与Excel一起列出的函数。 我的Excel中唯一更改的是版本,现在为2019 64位;模板是使用2016版(32位,但也可以使用64位)创建的,我重复一遍,所有内容始终运行良好。 也许Excel Guru可以给我提示以解决这个奇怪的问题?
根据要求编辑示例:
我说过,我的函数非常简单,不调用任何API代码:例如,我有以下两个:
Const MinValue = 0.00001
Const NullValue = -999
Public Function IsZero(r As Range) As Boolean
'check the cell value, and returns True if the value is <= MinValue
If IsEmpty(r.Cells(1, 1)) Then
IsZero = True
ElseIf IsNumeric(r.Cells(1, 1)) Then
IsZero = (r.Cells(1, 1) <= Zero)
End If
End Function
Public Function Zero() As Double
' Simply returns the MinValue value.
Zero = MinValue
End Function
答案 0 :(得分:0)
Excel有时会在“记住”依赖链进行计算时出现问题。一种症状是,当已知的功能文件在您知道应该具有值的单元格中出现奇怪的错误时。
检查是否存在这种情况的快速方法是完全重建依赖项链。在键盘上,这是CTRL + ALT + SHIFT + F9。如果您发现这种情况是定期发生的,则可以在您的Workbook_Open
事件中添加以下行:
Application.CalculationFullRebuild
其他建议的读数是: