excel - #姓名!以前工作的 UDF 函数出错
问题描述
我有一个 Excel 工作簿宏模板 (.xltm),在表格中使用了许多 VBA UDF;没有什么大的或复杂的。这些函数被声明为 Public,并保存在同一工作簿的模块中。该模板已使用多年,创建了功能始终完美运行的工作簿 (.xlsm)。现在,打开模板进行一些升级,我发现#NAME 很丑!包含我的一个 UDF 的每个单元格中的错误;如果我尝试在单元格中插入一个函数,我发现我的函数不再与 Excel 一起列出。我的 Excel 中唯一改变的是版本,现在是 2019 64 位;该模板是使用 2016 版本创建的(32 位,但也适用于 64 位),我再说一遍,所有的东西总是完美的。也许 Excel 大师可以给我一个提示来解决这个奇怪的问题?
根据要求编辑示例:
正如我所说,我的函数非常简单,不调用任何 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
解决方案
Excel 有时会在“记住”其计算的依赖链时遇到问题。这种情况的一个症状是,当已知功能文件在您知道应该具有值的单元格中出现奇怪的错误时。
检查是否是这种情况的一种快速方法是完全重建依赖链。在键盘上,这是 CTRL+ALT+SHIFT+F9。如果您发现这种情况经常发生,您可以在您的Workbook_Open
活动中加入以下行:
Application.CalculationFullRebuild
进一步的建议阅读是:
推荐阅读
- rabbitmq - “目录名称无效。” 等在 Windows 上使用 rabbitmq-plugins
- javascript - 用变量替换括号之间的字符串
- python - 使用 Python 下载 CVS “下载 CSV” 按钮
- ios - 从自定义 UITableViewCells 中读取已编辑的 UITextFields
- python - Pygame.update 不会在每一轮后更新
- javascript - Can't perform a React state update on an unmounted component 警告
- c - 有没有办法检查文件系统在预处理器中是否不区分大小写?
- amazon-web-services - 了解 AWS 访问密钥的允许操作策略列表
- sql - 将 FOR XML 拆分为 baches
- python - 为什么我的 websocket 服务器只接受 1 个连接