Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4924|回复: 6

[已解决]EXCEL高手用VBA实现字符串替换

[复制链接]
发表于 2016-2-10 17:53 | 显示全部楼层 |阅读模式


VBA输入一个字符串,如果其中有子串"BOY",将之替换为"CHILD";显示替换后的字符串

最佳答案
2016-2-20 19:09
借用“天地有雪”的代码
Sub ttt()
    Dim S$, str
    S = "gggBOYss"
    str = Split(S, "BOY")
    S = str(0) & "CHILD" & str(1)
    MsgBox S
End Sub
按需自己改
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2016-2-10 19:04 | 显示全部楼层
replace([a1],"BOY","CHILD")
蒙的

点评

雪神  发表于 2016-2-14 09:07
回复

使用道具 举报

 楼主| 发表于 2016-2-15 10:40 | 显示全部楼层
天地有雪 发表于 2016-2-10 19:04
replace([a1],"BOY","CHILD")
蒙的

不用replace,可以怎么做
回复

使用道具 举报

发表于 2016-2-20 18:45 | 显示全部楼层
这样吧~好...的做法啊~~要不就用正则吧~
  1. Sub ttt()
  2.     Dim S$, startzifu$, endzifu$, str&
  3.     S = "gggBOYss"
  4.     str = InStr(S, "BOY")
  5.     startzifu = Mid(S, 1, str - 1)
  6.     endzifu = Mid(S, str + 3)
  7.     S = startzifu & "CHILD" & endzifu
  8.     Debug.Print S
  9. End Sub
复制代码

评分

参与人数 1 +6 收起 理由
vbyou127 + 6 来学习

查看全部评分

回复

使用道具 举报

发表于 2016-2-20 19:09 | 显示全部楼层    本楼为最佳答案   
借用“天地有雪”的代码
Sub ttt()
    Dim S$, str
    S = "gggBOYss"
    str = Split(S, "BOY")
    S = str(0) & "CHILD" & str(1)
    MsgBox S
End Sub
按需自己改

评分

参与人数 2 +9 收起 理由
天地有雪 + 3 赞一个
vbyou127 + 6 来学习

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2016-2-21 10:45 | 显示全部楼层
天地有雪 发表于 2016-2-20 18:45
这样吧~好...的做法啊~~要不就用正则吧~

用正则怎么做
回复

使用道具 举报

发表于 2016-2-21 18:59 | 显示全部楼层
vbyou127 发表于 2016-2-21 10:45
用正则怎么做

用正则也是用Replace方法,你说不想用Replace方法,所以不用正则也罢,
再说正则非常难理解。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-23 19:17 , Processed in 0.329972 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表