|
本帖最后由 JLxiangwei 于 2013-2-27 13:56 编辑
Sub test()
Dim arr, arr1, x&
Dim d As New Dictionary
Dim d1 As New Dictionary
Sheet2.Range("c4:cg65536").ClearContents
arr = Sheet2.Range("a2").CurrentRegion
arr1 = Sheet1.Range("a1").CurrentRegion
For x = 4 To UBound(arr)
d.Add arr(x, 2), x
Next
For x = 3 To UBound(arr, 2)
d1.Add arr(3, x), x
Next
For x = 2 To UBound(arr1)
s = Right$(arr1(x, 5), VBA.Len(arr1(x, 5)) - 2)
If d.Exists(arr1(x, 2)) And d1.Exists(s) Then
arr(d(arr1(x, 2)), d1(s)) = arr(d(arr1(x, 2)), d1(s)) + arr1(x, 9)
End If
Next
Sheet2.Range("c5:cg65536").ClearContents
Sheet2.Range("A1").Resize(d.Count + 3, d1.Count + 2) = arr
End Sub
|
|