excel 使用 VBA 查找和替换

发布网友 发布时间:2022-04-20 02:09

我来回答

4个回答

热心网友 时间:2023-09-27 14:25

假设两个工作表都使用A:B两列
不需要使用VBA,用函数操作步骤如下:
1.在sheet2的A列前插入一个空白列,得到空白列为A列,其它两列就变成了B:C列
2.在新列的A2单元格内输入公式:=INDEX(Sheet1!A:A,MATCH(C2,Sheet1!B:B,0),)
3.下拉填充这个公式(或双击填充柄直接填充)
4.A列就得到与sheet1对应的A列数据。复制sheet2的A列,直接在A列右键选择性粘贴为“数值”
5.如果A列没有找到合适的数据,会显示#N/A
6.筛选A列的#N/A项,如果数据少,可以通过复制粘把B列对应的内容弄过来,然后填充颜色为红色
7.如果得到的#N/A项目比较多,可以在第2步骤时使用公式:
=IF(ISERROR(INDEX(Sheet1!A:A,MATCH(C2,Sheet1!B:B,0),)),B2,INDEX(Sheet1!A:A,MATCH(C2,Sheet1!B:B,0),))
8.这样就可以通过设置条件格式来把A列等于B列数据的行设置为红色底纹
如果不明白,可以HI我一下

热心网友 时间:2023-09-27 14:25

Sub Check()
Dim m, n As Integer

'把100改成你需要检索的最后一行就可以了,m代表sheet1,n代表sheet2

For m = 2 To 100

For n = 2 To 100

If Sheets("Sheet1").Cells(m, "B").Value = Sheets("Sheet2").Cells(n, "B").Value Then
Sheets("Sheet2").Cells(n, "A").Value = Sheets("Sheet1").Cells(m, "A").Value
Sheets("Sheet2").Cells(n, "A").Interior.ColorIndex = 3
GoTo ok
End If

Next n

ok:
Next m

End Sub

’试一试上面的VBA代码,找到的标记为红色,剩下的就是没找到的,嘿嘿。

热心网友 时间:2023-09-27 14:26

应该可以通过录制宏,来给自己提供个思路.(由于是替换操作,应该需要一个具体例子,并注明具体怎么改),

热心网友 时间:2023-09-27 14:26

yang881119@sina.com
文件发过来看看再教你弄
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com