Sub d()
Dim d As Object, arr, brr, i&, j&, k& '定义d这个变量为object型, 定义 i,j,k 为long型的变量
Set d = CreateObject("scripting.dictionary") '定义d为字典
arr = Sheets("基础数据").[a8].CurrentRegion '定义基础数据表格以a8为开始的数组,即点击a8再按住ctrl+A
For i = 2 To UBound(arr) '定义i为第2行开始至数组结束
s = arr(i, 1) & "," & arr(i, 2) '定义变量s
For j = 3 To 5
d(s & arr(1, j)) = d(s & arr(1, j)) + arr(i, j)
Next
Next
arr = [a6].CurrentRegion
For i = 3 To UBound(arr)
For j = 2 To UBound(arr, 2)
s = arr(i, 1) & "," & arr(1, j) & arr(2, j)
If d.exists(s) Then
arr(i, j) = d(s)
Else
arr(i, j) = 0
End If
Next
Next
[a6].CurrentRegion = arr
Set d = Nothing
End Sub |