打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
excel编程vba中的字典用法CreateObject('Scripting.Dictionary...

工作中用到vba统计学生成绩,遇到一个需要暂时存储信息的问题。网上搜索解决方法时看到了一个“字典”的对象,感觉很像java编辑中的集合map对象,有键有值成对存储数据。感觉非常有意思。特意搜了一下“字典”的简章说明、用法,记录到这里。即可以以后再用的时候查阅,也可以推广给大家学习。自己的vba知识又多了一点,字典、数组,都用过了。

这是我看到的最简单明了的ExcelVBA字典(dictionary)的教程,把字典的应用,用短短几百字,全部道尽,简!但精彩!原文如下:

当年我(原作者:彭希仁)向LDY版主求教字典的时候,他老人家总结了一句话“呼之即来,挥之即去”
即学会d(a)=s  和  s=d(a)就差不多了,忘记ADD存在。

一、定义字典

Set d = CreateObject("Scripting.Dictionary")

二、呼之即来,挥之即去

d("张三“)=1    '相当于给字典赋值,张三过来(没有就生成)拿个1站一边去
d("李四”)=2    '相当于给字典赋值,李四过来(没有就生成)拿个2站一边去
d("李四”)=3    '相当于改变值,字典中已经有李四了,李四跑过来,丢下2换个3站一边去
注:这时字典中有两个人的存在,张三=1 和 李四=3,相当于实现了去重复的功能

s=d("张三")   's=1   即叫了声张三,张三就告诉你他拿的是1
s=d("李四")   's=3   即叫了声李四,李四就告诉你他拿的是3
s=d("麻子")   's=""  没有找到麻子怎么办呢,字典里就自动生成一个麻子d("麻子")=“”,告诉你他手上是空的
注:这时字典中有三个人的存在,张三=1 ; 李四=3;麻子=“”

三、将字典里的东西变成数组

arr= d.Keys   '把名字的集合按先来后到的原则放到一维数组里  arr(0)=“张三” ; arr(1)=“李四”; arr(2)=“麻子”
arr1=d.Items     '把名字对应的值的集合按先来后到的原则放到一维数组里  arr1(0)=“1” ;arr1(1)=“3” ; arr1(2)=“”

四、查找字典中有没有这个人     

s=d.Exists(“张三”)  's=True 有的
s=d.Exists(“http://www.excelba.com”) 's=False  没有

五、清空数组

d.RemoveAll

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VBA入门54:字典:创建字典
Excel VBA学习笔记:字典的嵌套用法
Excel 字典教程精简版(呼之即来、挥之即去)
Excel VBA 中使用集合和字典对比总结
VBA字典入门
(19)字典Dictionary
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服