VBA: 字典的介绍与实例
来源:互联网 发布:mac 返回快捷键 编辑:程序博客网 时间:2024/06/06 04:17
基本语句
Sub dictest()' 其他可供参考的详细解说: http://club.excelhome.net/thread-868892-1-1.html' 字典简介' 字典对象相当于一种联合数组,它是由具有唯一性的关键字(Key)和它的项(Item)联合组成' VBA字典有6个方法Add , Keys, Items, Exists, Remove, RemoveAll' VBA字典有4个属性Count , Key, Item, CompareMode' 创建字典"d"Dim d As ObjectSet d = CreateObject("Scripting.Dictionary")' 添加d.Add "a", "example1"d.Add "b", 9'd.Add "b", 7 'add重复key会报错d("b") = 7 '这样会直接覆盖,不会报错'd.Item("b") = 7 '与上者相同d("c") = "example2"'通常使用Sting文本字符串作为字典key关键词,也可以使用数字、数值作为key'速度:纯数字>纯文本字符>>>文本/数值混合型' 输出Cells(1, 1) = d("a")'Cells(1, 1) = d.Item("a") '与上者相同Cells(1, 2) = d("b")Cells(1, 3) = d("c")' 字典成员个数Cells(1, 4) = d.Count'移除d.Remove ("b")'d.RemoveAll '移除所有' key是否存在Cells(2, 1) = d.Exists("b")d.Add "b", 7Cells(2, 2) = d.Exists("b")' 替换keyd.Key("a") = "e"'所有key所在的数组和所有item所在的数组d_keys = d.KeysCells(3, 1) = d_keys(0)Cells(3, 2) = d_keys(1)d_items = d.ItemsCells(4, 1) = d_items(0)Cells(4, 2) = d_items(1)'更改字符串关键字比较时所使用的比较模式'd.CompareMode = 0(二进制)/1(文本)/2(数据库)End Sub
结果如下
实例
Sub dictest1()Dim data_count As Longdata_count = 188Dim data_name, data_income, idata_name = Application.Transpose(Worksheets("数据").Cells(2, 1).Resize(data_count, 1))data_income = Application.Transpose(Worksheets("数据").Cells(2, 2).Resize(data_count, 1))Dim d1 As ObjectSet d1 = CreateObject("Scripting.Dictionary")For i = 1 To data_count If d1.exists(data_name(i)) Then d1.Item(data_name(i)) = d1.Item(data_name(i)) + data_income(i) Else d1.Item(data_name(i)) = data_income(i) End IfNextd1_keys = d1.keysd1_items = d1.itemsWorksheets("结果").Cells(2, 1).Resize(UBound(d1_keys) + 1, 1) = Application.Transpose(d1_keys)Worksheets("结果").Cells(2, 2).Resize(UBound(d1_items) + 1, 1) = Application.Transpose(d1_items)End Sub
阅读全文
0 0
- VBA: 字典的介绍与实例
- Oracle数据字典的介绍与应用实例
- Excel VBA练习:字典类型与正则表达式的使用
- excel VBA 字典与集合(Dictionary与Collection)
- VBA 字典与集合(Dictionary与Collection)
- Python中字典的定义与简单使用实例
- 关于字典表与实例表的思考
- 数据字典的介绍
- 字典转换成模型简单的介绍与使用
- VBA字典(dictionary)
- VBA代码实例---单元格复制以及resize函数介绍
- Excel VBA真正的动态数组实例
- VBA类的继承多态实例
- excel vba真正的动态数组实例
- RESTful的简单介绍与实例
- MSHFlexGrid 控件常数的学习介绍(VBA)
- 使用数据字典的实例
- oracle数据字典的介绍
- C/C++:a&1 and a%2 problem
- jsp 引另一个jsp的内容
- 打印·剥洋葱
- ZOJ 3606 Modular Inverse【乘法逆元】
- android 6.0后usb otg设备不显示在文件管理器中
- VBA: 字典的介绍与实例
- codeforce 385 div1 a
- 仿探探图片卡左右滑动效果
- 回顾Spring框架 springboot火推01
- 微信房卡六人九人牛牛源码搭建教程
- Android中更改UI方法汇总
- ShaderWeaver卡片制作-第二节
- 刷新yarn集群的队列
- 双12根本不在话下,阿里首次揭秘扛过双11的千亿级特征分布式机器学习平台XPS