Excel精英培训网

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

[已解决]vba 如何替换前10位的指定字符? 用宏命令解决

[复制链接]
发表于 2014-10-21 09:06 | 显示全部楼层 |阅读模式
本帖最后由 relaxg 于 2014-10-21 09:23 编辑

如值 2012-12-16 18-24 替换结果为 2012*12*16 18-24
查找数值中前10位,包含“-”的关键字,替换为“*”,求解
我的数值在A列,得到的结果也是在A列,希望VBA解决


最佳答案
2014-10-21 09:33
  1. Sub a()
  2. [a1] = Replace(Left([a1], 10), "-", "*") & Right([a1], Len([a1]) - 10)
  3. End Sub
复制代码
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2014-10-21 09:13 | 显示全部楼层
本帖最后由 baksy 于 2014-10-21 09:14 编辑

数据在A1时;
=SUBSTITUTE(LEFT(A1,10),"-","*")&MID(A1,11,9)
2012-12-16 18-24
2012*12*16 18-24
回复

使用道具 举报

 楼主| 发表于 2014-10-21 09:22 | 显示全部楼层
baksy 发表于 2014-10-21 09:13
数据在A1时;
=SUBSTITUTE(LEFT(A1,10),"-","*")&MID(A1,11,9)

可否用VBA解决,我的数值确实在A列,写入的结果也是在A列
回复

使用道具 举报

 楼主| 发表于 2014-10-21 09:29 | 显示全部楼层
baksy 发表于 2014-10-21 09:13
数据在A1时;
=SUBSTITUTE(LEFT(A1,10),"-","*")&MID(A1,11,9)

可否用VBA解决,我的数值确实在A列,写入的结果也是在A列
回复

使用道具 举报

发表于 2014-10-21 09:33 | 显示全部楼层    本楼为最佳答案   
  1. Sub a()
  2. [a1] = Replace(Left([a1], 10), "-", "*") & Right([a1], Len([a1]) - 10)
  3. End Sub
复制代码
回复

使用道具 举报

发表于 2014-10-21 10:16 | 显示全部楼层
VBA就用5楼的吧!
回复

使用道具 举报

发表于 2014-10-21 12:18 | 显示全部楼层
  1. Sub demo()
  2.     Dim str As String
  3.     str = Left(Range("a1"), 16)
  4.     Range("a1") = Replace(str, "-", "*", , 2)
  5. End Sub
复制代码

评分

参与人数 1 +1 收起 理由
relaxg + 1 赞一个!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 05:20 , Processed in 0.401966 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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