sheet1指定列A列中内容与sheet2A列中指定列的内容相同则删除sheet1中整行,需要VBA代码,求大神指点

sheet1指定列A列中内容与sheet2A列中指定列的内容相同则删除sheet1中整行,需要VBA代码,求大神指点,在线等啊!!!SHEET1中的内容ABCcellse... sheet1指定列A列中内容与sheet2A列中指定列的内容相同则删除sheet1中整行,需要VBA代码,求大神指点,在线等啊!!!
SHEET1中的内容
A B C
cell sector carr
2 2 1
4 1 1
4 3 1
5 2 1
6 1 1
6 2 1
6 3 1
8 1 1
8 3 1
9 2 1
10 1 1
10 1 3
10 2 2
10 3 1
10 3 3
11 1 2
11 2 2
11 3 2
12 2 1
14 1 1
14 1 3
14 2 2
14 3 1
SHEET2中内容
A B
1
2
3
4
5
6
7
8
9

2014-10-24 21:47 提问者采纳

把以下代码复制到 sheet1对应的VBA代码编辑界面中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

Sub deleteRow()

' i 为sheet1中起始行到结束行

For i = 2 To 1000

If (Sheets("sheet1").Cells(i, 1) = "") Then Exit For

' j 为sheet2中起始行到结束行

For j = 1 To 1000

If (Sheets("sheet2").Cells(j, 1) = "") Then Exit For

'判断两表中第一列的值是否相等,如果相等,则删除第一个表中的对应行

If (Sheets("sheet1").Cells(i, 1) = Sheets("sheet2").Cells(j, 1)) Then

Rows(i).Select

Selection.Delete Shift:=xlUp

i = i - 1

If i < 2 Then i = 2

End If

Next j

Next i

End Sub

有位大神给了这个程序非常好用,但是处理速度太慢,我要处理的是64800多行,处理的时候半个小时还没完成,比手动处理还要慢,请问有什么快点的方法吗?
展开
 我来答
刚下了点小雨
2014-10-28 · TA获得超过335个赞
知道小有建树答主
回答量:194
采纳率:100%
帮助的人:158万
展开全部
你的意思是如果在sheet1中A列的值在sheet2的A列中能找到的话,就把sheet1中对应的列都删除掉?换句话说,就是在sheet1中用vlookup查找sheet2的A列,然后把不是#N/A的删除掉?

如果是我上面说的这样,我可以用VBA中的数据字典方法帮你做一个,因为如果两个表都是6万多行,这样对着用Vlookup估计每vlookup一次也得一两分钟以上,用VBA中的Dictionary方法几秒钟可以搞定.
更多追问追答
追问
sheet1中6W多行,sheet2中几百行吧,上面那个代码用的时候比较慢,你有什么快的方法请分享学习下
追答
代码太多了,超过字数了,贴不上来,我发到你油箱吧.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式