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多行,处理的时候半个小时还没完成,比手动处理还要慢,请问有什么快点的方法吗? 展开
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多行,处理的时候半个小时还没完成,比手动处理还要慢,请问有什么快点的方法吗? 展开
1个回答
展开全部
你的意思是如果在sheet1中A列的值在sheet2的A列中能找到的话,就把sheet1中对应的列都删除掉?换句话说,就是在sheet1中用vlookup查找sheet2的A列,然后把不是#N/A的删除掉?
如果是我上面说的这样,我可以用VBA中的数据字典方法帮你做一个,因为如果两个表都是6万多行,这样对着用Vlookup估计每vlookup一次也得一两分钟以上,用VBA中的Dictionary方法几秒钟可以搞定.
如果是我上面说的这样,我可以用VBA中的数据字典方法帮你做一个,因为如果两个表都是6万多行,这样对着用Vlookup估计每vlookup一次也得一两分钟以上,用VBA中的Dictionary方法几秒钟可以搞定.
更多追问追答
追问
sheet1中6W多行,sheet2中几百行吧,上面那个代码用的时候比较慢,你有什么快的方法请分享学习下
追答
代码太多了,超过字数了,贴不上来,我发到你油箱吧.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询