rows("x:n").clearcontents
这句有两处不对:
一是对象引用,x和n是你要删除的行号,引号内的xn就成了字符,无法用对应的数字替换,应为
rows(x
&":"&
n)
第二是方法错误:clearcontents
方法只是清除内容,并不删除行,应改为delete方法
这句应改为:rows(x
&":"&
n).delete
Option Explicit
Sub Sdel()
Dim a As Worksheet, b As Worksheet
Dim la As Integer, lb As Integer
Dim i As Integer
Set a = Sheets("a") '这里设置表a的名字
Set b = Sheets("b") '这里设置表b的名字
la = a.[b60000].End(xlUp).Row
lb = b.[b60000].End(xlUp).Row
For i = lb To 1 Step -1
If Application.CountIf(a.Range("b1:b" & la), b.Range("b" & i)) Then b.Range("b" & i).EntireRow.Delete
Next i
End Sub
在辅助列用COuntif函数,不需要删除的就是0,排序一下,大于零的一块删除。
用字典法应该容易