|
我的想法是建立一个动态数组drr,用它来记录sheet1A列中有而sheet2A列中没有的项所在的行,然后倒序把那些行删除使sheet1A列与sheet2A列一致。但那个条件怎么也想不到怎么写。
Dim arr(), brr(), n%, c%, j%, k%
Dim drr() As Variant
arr = Sheet1.Range("A1").CurrentRegion
brr = Sheet2.Range("A1").CurrentRegion
m = UBound(arr, 1)
n = UBound(brr, 1)
For i = 2 To m
For j = 2 To n
If arr(i, 1) = brr(j, 1) Then
Exit For
Else:
c = c + 1
ReDim Preserve drr(1 To c)
drr(c) = i
End If
Next
Next
For k = c To 1 Step -1
Rows(drr(k)).Delete
Next
|
本帖最后由 zjdh 于 2016-7-3 14:16 编辑
Sub TEST()
Dim arr(), brr(), drr(), n%, c%, j%, k%
arr = Sheet1.Range("A1").CurrentRegion
brr = Sheet2.Range("A1").CurrentRegion
For i = 2 To UBound(arr)
For j = 2 To UBound(brr)
If arr(i, 1) = brr(j, 1) Then Exit For
Next
If j > UBound(brr) Then
c = c + 1
ReDim Preserve drr(1 To c)
drr(c) = i
End If
Next
For k = c To 1 Step -1
Rows(drr(k)).Delete
Next
End Sub
|
|