Excel 公式不断恢复为原始 UDF 名称
Posted
技术标签:
【中文标题】Excel 公式不断恢复为原始 UDF 名称【英文标题】:Excel formula keeps reverting to the original UDF name 【发布时间】:2018-05-02 15:58:51 【问题描述】:我制作了一个名为“GetField”的 UDF,并制作了一个调用了 384 次的电子表格。然后老板指出,按照Excel自己的风格,那应该是GETFIELD。所以我改变了它。但现在我无法更改表格中的公式 以使用新版本的名称。
如果我单击该字段并删除“d”,Excel 会显示包含可能命中的弹出窗口,包括 GETFIELD。如果我选择它,我可以看到编辑器将其更改为 GETFIELD,但如果我返回该字段,它会再次将其更改回 GetField。我尝试了该主题的多种变体,包括使用搜索/替换和重新输入整个内容,但每次都会恢复为原来的驼峰式名称。
有人知道让 Excel 更新名称的方法吗?
【问题讨论】:
尝试使用查找和替换。有“选项”,您可以在其中选择“匹配案例”。你可能在那里碰运气。您可能想建议您也使用所有小写字母来区分 UDF 和内置函数...... ;) 我确实尝试过。它有助于查找并替换所有 384 个实例...然后立即再次变回“GetField”! Excel 不关心函数名中的大写/小写,因此两者都应该可以工作。但是要更改解决方案是将VBA中的UDF重命名为XXDD
之类的不同名称,然后使用replace将GetField
更改为XXDD
,然后将UDF重命名为GETFIELD
并将XXDD
替换为GETFIELD
。这应该有效。
@Pᴇʜ - 好吧,让我试试吧!
@Pᴇʜ 不错的解决方案。绝对值得发布作为未来用户参考的答案。
【参考方案1】:
首先,Excel 不关心函数名称中的大小写,因此无论您的 UDF 有什么大小写,两者都应该工作。
但要使其保持良好和一致,您可以通过首先将 UDF 重命名为任何其他名称来强制 Excel 进行特定的大写/小写更改。
例如,您的原始 UDF 名称是 GetField
,而您想将其重命名为 GETFIELD
:
-
将 VBA 中的 UDF 从
GetField
重命名为 MyTempName
等其他名称
查找/替换从GetField
到MyTempName
的所有公式
将 VBA 中的 UDF 从 MyTempName
重命名为 GETFIELD
查找/替换从MyTempName
到GETFIELD
的所有公式
【讨论】:
【参考方案2】:在 VBA IDE 中检查是否存在具有旧名称的函数的重复项,例如在个人 xlsb 库中。
【讨论】:
以上是关于Excel 公式不断恢复为原始 UDF 名称的主要内容,如果未能解决你的问题,请参考以下文章