|
5学分
各位哥哥姐姐:
小妹在一公司财务做成本核算工作,每天的数据统计量非常大。目前在多件件求和的问题下都是采用函数,但非常慢,有时还会造成死机出现。小妹实在是没有办法了,只好求教哥哥姐姐弟弟妹妹们,如能得到各位哥哥姐姐弟弟妹妹们的帮助不胜感激!
我遇到的问题是这样的:
表(一)
A列 (部门) B列 (物料名称) C列(领料数量)
制造二部 纸箱 15
制造一部 白纸 5
制造二部 白纸 5
制造二部 纸箱 30
制造一部 纸箱 5
制造一部 白纸 19
统计结果放在表(二)的C列
A列 (部门) B列 (物料名称) C列(领料数量)
制造一部 白纸
制造一部 纸箱
制造二部 白纸
制造二部 纸箱
本帖最后由 风林火山 于 2014-1-10 11:09 编辑
重复发帖
- <P>Sub test()
- Dim arr, brr
- Dim d As Object
- Dim k%, i%, m%, str$, str1$</P>
- <P> arr = Sheets("sheet1").Range("a1").CurrentRegion
- brr = Sheets("sheet2").Range("a1").CurrentRegion
- Set d = CreateObject("scripting.dictionary")</P>
- <P> For k = 2 To UBound(arr)
- str = arr(k, 1) & arr(k, 2)
- If Not d.exists(str) Then
- d(str) = arr(k, 3)
- Else
- d(str) = d(str) + arr(k, 3)
- End If
- Next k
- For i = 2 To UBound(brr)
- str1 = brr(i, 1) & brr(i, 2)
- brr(i, 3) = d(str1)
- Next i</P>
- <P> Sheets("sheet2").Range("a1").Resize(UBound(brr), UBound(brr, 2)) = brr
- End Sub
- </P>
复制代码
|
|