办公问答网

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 91|回复: 10

Excel如何一次性批量实现对多个内容的“查找并替换”?

[复制链接]

1

主题

8

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2023-1-13 16:04:35 | 显示全部楼层 |阅读模式
1职场实例
今天小编遇到了这样的一个问题:
Excel如何一次性批量实现对多个内容的“查找并替换”?
实际工作场景中,需要一次性批量实现对100多个内容的“查找并替换”。
我们用几组简单的数据来模拟实际场景,讲解一下这个问题。

如下图所示:
B列为我们想要查找替换的数据源,我们想要按照G:H列的查找替换要求,查找B列的内容:
将“Excel”替换为“E”
将“Word”替换为“W”
将“PPT”替换为“P”
最后替换完成的数据如D列所示。


我们最通常的做法就是通过快捷键“Ctrl+H”调出“查找和替换”的对话框,通过3次查找和替换,完成这样的任务。
第一次查找和替换:查找“Excel”替换为“E”


第二次查找和替换:查找“Word”替换为“W”


第三次查找和替换:查找“PPT”替换为“P”


如果我们按照上面这样的操作方法,遇到需要一次性批量实现对100多个内容的“查找并替换”的话,那效率就太低了。

2问题解答
解决这样的问题,还是用VBA代码快速的实现吧。
01.准备对应表
首先我们需要在G:H列准备好查找内容替换为内容对应表如下图所示


02.进入VBA代码编辑器
鼠标右击工作表名称标签,点击【查看代码】命令(或按快捷键Alt+F11键)进入VBA代码编辑器的窗口。
03.复制并粘贴代码
复制下面的那段VBA代码并粘贴至VBA代码编辑器窗口内。
04.运行代码
点击代码器窗口上方的【运行-运行子过程/用户窗体】命令。
代码如下:
Sub 公众号Excel情报局()
Dim arr, brr, j&, i&
arr = Range("G2:H4"): brr = Range("B2:B7")
For j = 1 To UBound(brr)
For i = 1 To UBound(arr)
brr(j, 1) = Replace(brr(j, 1), arr(i, 1), arr(i, 2))
Next i
Next j
Range("B2:B7").Value = brr
End Sub具体操作步骤,如下动图所示:



3代码释义
01.查找和替换为对应表的区域
代码:
arr = Range("G2:H4"): brr = Range("B2:B7")
其中G2:H4代表查找和替换为对应表的区域。


02.查找的区域
代码:arr = Range("G2:H4"): brr = Range("B2:B7")
其中B2:B7代表查找的区域


03.查找替换后放置数据的区域
代码:Range("B2:B7").Value = brr
其中B2:B7代表查找替换后放置数据的区域
本例中在查找的数据源B列上直接进行查找替换,所以查找替换后放置数据的区域B2:B7,与查找的区域B2:B7重合。

回复

使用道具 举报

1

主题

5

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2023-1-13 16:04:58 | 显示全部楼层
请问如果返回的不是单独的一列的话这个代码应该怎么改呢
回复

使用道具 举报

2

主题

7

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2023-1-13 16:05:57 | 显示全部楼层
好厉害,感谢感谢
回复

使用道具 举报

3

主题

8

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2023-1-13 16:06:51 | 显示全部楼层
太感谢楼主了!!!帖子帮了大忙,不然数据量大得干到猴年马月
回复

使用道具 举报

1

主题

8

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2023-1-13 16:07:02 | 显示全部楼层
啥不是单独一列?说清楚一点?
回复

使用道具 举报

1

主题

3

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2023-1-13 16:07:57 | 显示全部楼层
您好,复制您的代码后,运行显示缺少函数或变量是什么原因呢,谢谢[拜托]
回复

使用道具 举报

1

主题

13

帖子

19

积分

新手上路

Rank: 1

积分
19
发表于 2023-1-13 16:08:29 | 显示全部楼层
这个问题结局了么 我也想问这个··
回复

使用道具 举报

0

主题

5

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2023-1-13 16:08:56 | 显示全部楼层
感谢感谢[爱]
回复

使用道具 举报

2

主题

7

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2023-1-13 16:09:45 | 显示全部楼层
如果是不同的工作簿怎么写
回复

使用道具 举报

2

主题

8

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2023-1-13 16:10:08 | 显示全部楼层
你好,这个替换好像是区分英文大小写的,如果想不区分大小写,能做到吗?谢谢了
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|办公问答网

GMT+8, 2025-7-4 18:24 , Processed in 0.111950 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc. Templated By 【未来科技 www.veikei.com】设计

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