|
发表于 2016-3-28 21:52
|
显示全部楼层
本楼为最佳答案
- Sub Macro1()
- Dim arr, brr, d, i&, j%
- Set d = CreateObject("scripting.dictionary")
- arr = Sheet1.Range("a1").CurrentRegion
- brr = Sheet2.Range("a1").CurrentRegion
- For i = 2 To UBound(arr)
- For j = 2 To UBound(arr, 2)
- zf = arr(i, 1) & "," & arr(1, j)
- d(zf) = arr(i, j)
- Next
- Next
- For i = 2 To UBound(brr)
- For j = 2 To UBound(brr, 2)
- zf = brr(i, 1) & "," & brr(1, j)
- If d.exists(zf) Then
- brr(i, j) = d(zf)
- Else
- n = d("合计" & "," & brr(1, j - 1))
- brr(i, j) = Format(brr(i, j - 1) / n, "0.00%")
- End If
- Next
- Next
- Sheet2.Range("a1").CurrentRegion = brr
- End Sub
复制代码 |
|