1. 运用字典对象汇总
(数组赋值)
Sub yy()
Dim i%, j%, m%, n%, rng, d As Object, w$, ar() '声明变量
Set d = CreateObject('Scripting.Dictionary') '创建字典对象d
n = [a65536].End(xlUp).Row '判断 A列数据使用过的最后行数的值。包括其中有数据的空行.就是从A65536单元格向上查找,第一个有内容的单元格。
m = 1 '赋值1 给变量m
rng = Range('a2:j' & n) '把区域A2:Jn的值赋值给数组变量rng
ReDim ar(1 To n - 1) '重新声明数组变量ar的大小
For i = 1 To n - 1 '开始循环
On Error Resume Next '如果出现错误,就执行下一条
w = rng(i, 2) '把编码赋值给变量w
d.Add w, m '把编码和序号m值加入字典对象
m = m + 1 '把序号+1
If Err.Number = 0 Then '如果编码是唯一的话
ar(i) = rng(i, 10) '把金额赋值给数组变量ar
Else '否则
s = d(w) '这一个编码在字典里的序号赋值给变量s
ar(s) = ar(s) + rng(i, 10) '金额累加汇总
End If
Next i
[k2].Resize(n - 1, 1) = Application.WorksheetFunction.Transpose(ar) '把汇总以后金额转置到K列
End Sub
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。