今天见到EH一位会员问一个REPLACE函数的问题,原文如下:
代码:
Sub Macro2()
s = "---"
s = Replace(s, "-", "=", 2, 1)
Debug.Print s
End Sub
立即窗口中显示的是"=-"而不是"-=-"
为什么会少一个字符啊?
这确实是一个有趣的问题,因为工作表函数中的REPLACE函数的原理是把给出的查找项替换成另一个值,其他的字符不会发生改变,就如CTRL+H的替换功能类似。
而VBA中的REPLACE函数的,微软的帮助的最后有一句:
Replace函数的返回值是一个字符串,但是,其中从start所指定的位置开始,到expression字符串的结尾处的一段子字符串已经发生过替换动作。并不是原字符串从头到尾的一个复制。
也就是说,VBA中的REPLACE函数会把start位置前的字符统统舍去,只保留start位置后的被替换后的字符串。
帮助文件确实是非常有用的,希望大家在问问题前,先看一下EXCEL的帮助文件,也许你的问题在帮助文件里就已经有解答了。
本文解答了一位会员关于VBA中REPLACE函数使用时遇到的问题,详细解释了VBA REPLACE函数与工作表函数REPLACE之间的区别,并强调了阅读帮助文件的重要性。
7572

被折叠的 条评论
为什么被折叠?



