|
- Sub 汇总()
- Application.ScreenUpdating = False
- Dim wb As Workbook
- Set wb = Workbooks.Open(ThisWorkbook.Path & "" & "数据表.xls") '读入
- arr = wb.Worksheets(1).[a1].CurrentRegion
- wb.Close False
-
- Dim brr(1 To 10000, 1 To 14)
- Set d = CreateObject("scripting.dictionary")
- For i = 2 To UBound(arr)
- x = arr(i, 3) & "," & arr(i, 6)
- If Not d.exists(x) Then
- n = n + 1
- d(x) = n
- brr(n, 1) = arr(i, 3): brr(n, 2) = arr(i, 6)
- End If
- If arr(i, 11) > 0 Then '数量大于0,开始统计
- p = d(x)
- yf = arr(i, 13) '月份
- If Val(yf) >= 1 And Val(yf) <= 12 Then brr(p, Val(yf) + 2) = brr(p, Val(yf) + 2) + arr(i, 11)
- End If
- Next
-
- [a4].Resize(10000, 14).ClearContents '输出
- [a4].Resize(n, 14) = brr
- Application.ScreenUpdating = True
- End Sub
复制代码 |
|