请教一个excel问题
解决时间 2021-05-04 17:00
- 提问者网友:树红树绿
- 2021-05-03 20:26
有两张表格表一和表二,表一和表二A列都是单位名称,问题是怎样在表一中得到如下的结果:
1、表一和表二中名称相同的单位的行全部删除;
2、表一和表二中名称不同的单位整行数据保留(表二中与表一不同的数据不保留)。
(上面讲的可能不太清楚,举个例子:假设表一A列单位名称中有A、B、C、D、E,表二A列中有B、E、F、H,怎样在表一A列中只保留A、C、D单位数据(因为B、E在表二有,故将其删除,而表二中与表一中不重复的单位F、H在结果中也不要)?)
最佳答案
- 五星知识达人网友:低血压的长颈鹿
- 2021-05-03 22:05
若用宏,代码如下:
Sub test()
Application.ScreenUpdating = False
Dim i, j As Integer
Dim iFlag As Boolean
i = 1
Do While i <= Sheets(2).Range("A1:A1000").CurrentRegion.Rows.Count
iFlag = True
j = 1
Do While j <= Sheets(1).Range("A1:A1000").CurrentRegion.Rows.Count
If Sheets(2).Cells(i, 1) = Sheets(1).Cells(j, 1) Then iFlag = False: Exit Do
j = j + 1
Loop
If iFlag Then Sheets(2).Cells(i, 1).EntireRow.Delete: i = i - 1
i = i + 1
Loop
i = 1
Do While i <= Sheets(1).Range("A1:A1000").CurrentRegion.Rows.Count
iFlag = False
j = 1
Do While j <= Sheets(2).Range("A1:A1000").CurrentRegion.Rows.Count
If Sheets(1).Cells(i, 1) = Sheets(2).Cells(j, 1) Then iFlag = True: Exit Do
j = j + 1
Loop
If iFlag Then Sheets(1).Cells(i, 1).EntireRow.Delete: i = i - 1
i = i + 1
Loop
Application.ScreenUpdating = True
End Sub
全部回答
- 1楼网友:山河有幸埋战骨
- 2021-05-03 22:21
用vlookup函数,以表一为基准到表二中取数,当取到一致的时候就做一个标记,不一致时又做一个标记,最后筛选或是排序出不一致的行数据进行手工删除!如不明白请上传具体数据,我将给你示范,也期待其它高人出现,谢谢
- 2楼网友:神的生死簿
- 2021-05-03 22:11
我要举报
大家都在看
推荐资讯