|
发表于 2015-3-19 11:22
|
显示全部楼层
本楼为最佳答案
- Sub tt()
- Dim arr, brr, d, yf%, i%, n%, x$
- Set d = CreateObject("scripting.dictionary")
- arr = [a2].CurrentRegion '源数据区域
- brr = [h1].CurrentRegion '结果显示区域
- For i = 3 To UBound(brr) '商品名称+型号和结果显示区域的行数相对应
- x = brr(i, 1) & "," & brr(i, 2)
- d(x) = i
- Next
- yf = [I1] '月份
- For i = 2 To UBound(arr)
- If Month(arr(i, 1)) <= yf Then '月份<=指定月份
- x = arr(i, 2) & "," & arr(i, 3) '商品名称+型号
- n = d(x) '根据商品名称+型号,取得结果显示区域对应的行数
- If n > 0 Then
- brr(n, 5) = brr(n, 5) + arr(i, 4) '累计数量
- brr(n, 6) = brr(n, 6) + arr(i, 5) '累计利润
- If Month(arr(i, 1)) = yf Then '月份=指定月份
- brr(n, 3) = brr(n, 3) + arr(i, 4) '数量
- brr(n, 4) = brr(n, 4) + arr(i, 5) '利润
- End If
- End If
- End If
- Next
- [h1].CurrentRegion = brr
- End Sub
复制代码 |
|