我们有一个系统,它始终以三位八位字节导出 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/