|
发表于 2016-11-8 09:43
|
显示全部楼层
本楼为最佳答案
Sub test()
Dim A, B, i
A = Sheets(1).Range("a1").CurrentRegion
B = Application.Index(A, UBound(A), 0)
For i = UBound(A) - 2 To 1 Step -2
If compare(Application.Index(A, i, 0), B) Then Exit For
Next i
Sheets(2).Range("a1").Resize(1, UBound(A, 2)) = Application.Index(A, i, 0)
Sheets(2).Range("a2").Resize(1, UBound(A, 2)) = Application.Index(A, i + 1, 0)
End Sub
Function compare(x, y) As Boolean
Dim j, s
ReDim arr(99) '如果B:G都是0到99之间的整数
For j = 2 To 7
arr(x(j)) = arr(x(j)) + 1
arr(y(j)) = arr(y(j)) + 1
Next j
For j = 0 To UBound(arr)
If arr(j) > 1 Then s = s + 1
Next j
compare = s > 2
End Function |
|