|
发表于 2014-1-4 09:13
|
显示全部楼层
本楼为最佳答案
Sub test()
Dim d1 As New Dictionary, d2 As New Dictionary, ar1(), ar2(1 To 100, 1 To 1)
For i1% = 1 To Sheets.Count - 1
For i2% = i1 To i1 + 1
ar1 = Sheets(i2).[e2].CurrentRegion.Value
For i3% = 1 To UBound(ar1, 2)
For i4% = 1 To UBound(ar1)
If ar1(i4, i3) = "" Then Exit For
d1(ar1(i4, i3)) = d1(ar1(i4, i3)) + 1
Next
For Each tmp In d1.Keys
If d1(tmp) = 1 Then d2(tmp) = d2(tmp) + 1
Next
d1.RemoveAll
Next
Next
For Each tmp In d2.Keys
If d2(tmp) > 2 Then
If r% >= 100 Then
Sheets(1).[b65536].End(3)(2).Resize(r) = ar2
r = 0
End If
r = r + 1
ar2(r, 1) = tmp
End If
Next
d2.RemoveAll
Next
If r Then Sheets(1).[b65536].End(3)(2).Resize(r) = ar2
End Sub
|
|