Excel自带函数: Compile error: Sub or Function not defined

标签 excel vba function

我们有一个系统,它始终以三位八位字节导出 IP 地址数据。我正在尝试在 Excel 中创建一个自己的函数,以便从这些 IP 地址中删除任何不必要的前导零。我有一个经过验证的公式可以实现此目的,但是当尝试创建函数时,我收到编译错误:Sub 或 Function 未定义。 任何帮助,将不胜感激。

有效的公式:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE("@." & TRIM(A2), ".0", "."), ".0", "."), "@.", "") 

例如如果单元格 A2 包含 010.110.009.254,则此公式的结果为 10.110.9.254

Public Function IPFix(IP)
IPFix = Substitute(Substitute(Substitute("@." & Trim(IP), ".0", "."), ".0", "."), "@.", "")
End Function

我希望 =IPFix(A2) 会产生没有前导零的有效 IP 格式。 但是我刚刚收到此编译错误。

最佳答案

VBA 函数的 Substitute 替换为 Replace

Public Function IPFix(IP)
    IPFix = Replace(Replace(Replace("@." & Trim(IP), ".0", "."), ".0", "."), "@.", "")
End Function

关于Excel自带函数: Compile error: Sub or Function not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54331332/

相关文章:

java - 如何从 url 下载 pdf 到内部存储并打开它 : Android studio using kotlin

python - Python中函数参数的模式匹配

excel - 根据里程碑/任务/子任务创建动态编号列表

vba - Do Loop 类型不匹配中的“If”语句

vba - 如何将固定宽度的文本文件导入Excel?

excel - 通过类型将字符数组从 VBA 传递到 Fortran DLL 会破坏其他类型成员

c - 将一个函数作为参数传递给另一个函数

excel - 如何统计文件夹中的文件数

excel - 与语言无关的方式来引用 "Sheet"?

vba - VBA 宏运行时关闭 "everything"