利用access创建数据字典_VBA数组与字典第39讲:利用数组与字典,实现双条件数据汇总...

大家好,我们今天继续讲解VBA数组与字典解决方案,今日的内容是第39讲,利用数组与字典,实现双条件数据汇总的方法。大家或许在之前没有接触过字典,其实,字典在VBA中占据着很重要的内容。大家已经注意到了,字典的应用和数组是密不可分的。要想理解字典的应用,必须要掌握数组的用法,对于数组的理解要透彻后才能谈到字典的理解,字典本身其实非常的简单,就是要灵活的利用他的键和键值。

我们今日的内容是实现双条件的数据汇总,如下的数据,我们要根据A列和B列的值对C列数据实现汇总求和:

63e62d7cb8982941b00fa14a5aea8513.png

怎么能做到呢?我刚才讲过,对于字典的本身定义非常的简单,要深入的理解键和键值,巧妙的应用。下面看我给出的代码:

Sub mynzsz_39() '39 利用数组与字典,实现双条件数据汇总的方法

Dim myarr

Sheets("39").Select

'将数据装入数组

myarr = Range("a2:c" & Range("c2").End(xlDown).row)

Set myDic = CreateObject("Scripting.Dictionary")

For i = 1 To UBound(myarr, 1)

'利用"丨"将数组的第一第二列合并,以利用查询

mykey = myarr(i, 1) & "丨" & myarr(i, 2)

'如果存在,合并值,如果不存在建立新的

If Not myDic.exists(mykey) Then

myDic(mykey) = myarr(i, 3)

Else

myDic(mykey) = myDic(mykey) + myarr(i, 3)

End If

Next

Range("g1:I1") = Array("型号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值