复制Excel行至其他文档时,结尾带数字的自定义函数被错误重命名
解决自定义函数名称被Excel误转换的问题
预先在目标文档注册自定义函数
先确认带VBA的目标文档里已经正确定义了KAP44函数,代码要准确匹配函数名(Excel不区分大小写,但注册时尽量完全一致)。示例VBA代码:Function KAP44(param1 As Variant, param2 As Variant) As Variant ' 此处编写你的函数业务逻辑 End Function注册完成后,Excel会识别这是自定义函数,不会把它误判为单元格引用。
生成公式时给函数名加
_xlfn.前缀
用OpenXML生成公式时,给自定义函数名加上_xlfn.前缀——这是Excel识别自定义函数的专用标记,能避免被当成单元格地址解析。修改后的公式如下:=@IF(AND((A11 = A10) (M11 = M10)) T11 _xlfn.KAP44(A11 M11))这样复制到目标文档后,Excel会正确识别这是自定义函数,不会替换成IN44。
使用选择性粘贴保留原始公式
复制内容后,不要直接粘贴,右键目标单元格选择「选择性粘贴」,再选「公式」选项。这种方式会直接保留原始公式文本,降低Excel自动修正的几率。排查自动更正规则
打开Excel选项,进入「校对」板块的「自动更正选项」,检查是否存在将KAP44替换为IN44的规则,若有则删除该规则。
内容的提问来源于stack exchange,提问作者vagelis
相关产品推荐
相关产品推荐

