Excel精英培训网

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

[已解决]用VBA将工作表一次替换多个词

[复制链接]
发表于 2014-10-12 13:57 | 显示全部楼层 |阅读模式
用VBA将工作表一次替换多个词,词数不限,按AB列对应替换
1.用“新词”来替换“原词”,将本活动工作中“原内容”替换后,变成“替换的结果”。
2.替换过程中,应有选定范围的过程。谢谢!


最佳答案
2014-10-12 18:45
Sub Macro1()
Dim arr, rng As Range, i&
arr = Range("a2:b" & Range("a65536").End(xlUp).Row)
Set rng = Range("c2:c" & Range("c65536").End(xlUp).Row)
For i = 1 To UBound(arr)
    rng.Replace arr(i, 1), arr(i, 2)
Next
End Sub

工作表一次替换多个词.rar

8.37 KB, 下载次数: 19

发表于 2014-10-12 15:26 | 显示全部楼层
工作表一次替换多个词.rar (8.37 KB, 下载次数: 18)
回复

使用道具 举报

 楼主| 发表于 2014-10-12 16:09 | 显示全部楼层
开心妙妙 发表于 2014-10-12 15:26

里面没有宏啊
回复

使用道具 举报

发表于 2014-10-12 16:41 | 显示全部楼层
  1. Sub Macro1()
  2. Dim arr, rng As Range, i&
  3. arr = Range("a2:b" & Range("b65536").End(xlUp).Row)
  4. Set rng = Range("c2:c" & Range("c65536").End(xlUp).Row)
  5. For i = 1 To UBound(arr)
  6.     rng.Replace arr(i, 1), arr(i, 2)
  7. Next
  8. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2014-10-12 18:34 | 显示全部楼层
dsmch 发表于 2014-10-12 16:41

老师,单词对应单词替换没问题,很好。但单词替换成空值不行,比如例子中“好人”替换空值时,不变化。你给再看看,怎么样才行?谢谢
原词
新词
原内容
替换后的结果
吉林
辽宁
吉林省
辽宁省
延吉人民
永吉人民
延吉人民好
永吉人民好
好人
好事好人
好事

点评

你模拟的结果有误,请检查  发表于 2014-10-12 18:39
回复

使用道具 举报

发表于 2014-10-12 18:45 | 显示全部楼层    本楼为最佳答案   
Sub Macro1()
Dim arr, rng As Range, i&
arr = Range("a2:b" & Range("a65536").End(xlUp).Row)
Set rng = Range("c2:c" & Range("c65536").End(xlUp).Row)
For i = 1 To UBound(arr)
    rng.Replace arr(i, 1), arr(i, 2)
Next
End Sub

评分

参与人数 1 +3 收起 理由
guogongyi + 3 很给力!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2014-10-12 19:39 | 显示全部楼层
dsmch 发表于 2014-10-12 18:45
Sub Macro1()
Dim arr, rng As Range, i&
arr = Range("a2:b" & Range("a65536").End(xlUp).Row)

非常好,谢谢,真高手
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-24 12:01 , Processed in 0.437847 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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