VBA中的REPLACE函数的问题

今天见到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的帮助文件,也许你的问题在帮助文件里就已经有解答了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值