序言
VBA的基础数据类型里面并没有字典类型,但字典其实在很多应用场景中都很有用,那么如何在VBA中使用字典,本文就用几个例子和大家交流探讨一下。
场景1
某个医院每天都会从不同的制造商那里进三种材料中的一种,每天的进价都有可能不同,现在公司积累了半年的数据,想做个分析。数据的样式如下:
现在的要求是做半年度的分析,分析一下三个材料从半年来看哪个制造商的进价最低。那么有聪明的小伙伴就说了,可以用透视表。确实,第一反应就应该是用透视表,因为需求很简单就要看谁最便宜。但如果是在实际的工作中,领导可能还会要求你做几张图,分析一下各个制造商的报价趋势;亦或者要求算一下制造商报价的差异度,预测下个月各个制造商的报价等等。最终还要求把上面说的这个分析都放到一张表里面,形成一张汇总分析表。那么这个时候就不是生成透视表能解决了的。如果每次都要手工处理会很麻烦,那么我们就可以用VBA来做一张模板。而做模板我们首先会碰到的一个问题就是,制造商到底有几个不确定,保不齐哪天就蹦出一个新的制造商来。所以第一步我们就要建了一个制造商的列表。有几个方法,一个是复制C列到其他对方,使用删除重复项;或者嵌套循环;还有就是今天要说的字典。创建字典的语句很简单:
Dim zzs_dict
Set zzs_dict = CreateObject("Scripting.Dictionary")
创建完成后我们需要把C列的值