|
用了字典,请自行引用(方法请参考相关资料)
Sub test()
Dim d As New Dictionary, ar1(), ar2(), ar3()
ar1 = Sheets("表一").Range("a1").CurrentRegion.Value
ar2 = Sheets("表二").Range("a1").CurrentRegion.Value
ReDim ar3(1 To UBound(ar1) + UBound(ar2), 1 To 6)
For i1% = 2 To UBound(ar1)
d(ar1(i1, 1) & "|" & ar1(i1, 2) & "|" & ar1(i1, 5)) = 1
Next
For i1% = 2 To UBound(ar2)
If d.Exists(ar2(i1, 1) & "|" & ar2(i1, 2) & "|" & ar2(i1, 5)) Then
d(ar2(i1, 1) & "|" & ar2(i1, 2) & "|" & ar2(i1, 5)) = 2
Else
i2 = i2% + 1
For i3 = 1 To 6
ar3(i2, i3) = ar2(i1, i3)
Next
End If
Next
For i1% = 2 To UBound(ar1)
If d(ar1(i1, 1) & "|" & ar1(i1, 2) & "|" & ar1(i1, 5)) = 1 Then
i2 = i2% + 1
For i3 = 1 To 6
ar3(i2, i3) = ar1(i1, i3)
Next
End If
Next
Sheets("表三").Range("a2").Resize(i2, 6) = ar3
End Sub
|
评分
-
查看全部评分
|