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
文件发过来看看再教你弄