我们有一个导出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格式,且没有前导零。
但是我只是得到这个编译错误。
最佳答案
将Substitute
替换为Replace
用于VBA
功能
Public Function IPFix(IP)
IPFix = Replace(Replace(Replace("@." & Trim(IP), ".0", "."), ".0", "."), "@.", "")
End Function
关于excel - Excel自身的函数:编译错误:子或函数未定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54331332/