如何在Excel VBA中使用字典Dictionary对象

如题所述

举例如下:

1.利用字典,将A列不重复的值,显示在B列中

2.Alt+F11,在相应的工作表的VBE中输入代码,执行即可


代码详解如下:

Sub main()

Set dic = CreateObject("scripting.dictionary")'后期绑定字典

For i = 1 To 100

dic(Cells(i, "A").Value) = ""'将A列数值依次放到字典中,字典自带去重功能,重复的数值只保留一个,这里只用到了地点的keys,所以让字典的Item值为空

Next

Range("C1").Resize(dic.Count, 1) = Application.Transpose(dic.keys)'这里通过转置,将字典中的全部Keys依次放到C列中

End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-01-22
首先得声明字典对象变量
声明有两种方式一种是前期绑定,dim d as new dictionary,另一种是后期绑定,set d=createobject("scripting.dictionary")
字典对象的属性
d.count(是返回字典对象中项目数)
d.key(字典对象中的关键字)
d.item(字典对象中key对应的条目)
d.comparemode(字典查询方式,有三种,用数字代表为0,1,2,0为精确比较,1为模糊比较)
字典对象的方法
d.add (向字典中写入一个关键字项目对)
d.exists (对象中存在的关键字返回true,否则返回false)
d.keys(返回一个一维数组,全部的关键字)
d.items(返回一个一位数组,全部的项目)
d.remove(从字典中清楚一个关键字项目对)
d.removeall(从字典对象中清楚所有的项目对)
通过熟练的掌握VBA字典技术可以处理数据的重复和汇总等要求。本回答被提问者采纳