打开APP
userphoto
未登录

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

开通VIP
VBA基础入门(35)数据字典的应用

今天我们分享一下数据字典。

我们先来说说应用背景:

下面这样一个数据表

我们要对B列的数据在A列中遍历查找符合条件1-4的后进行判断,来看C到F列符不符合条件,如果符合的话,就能在相应的位置写“OK”。

注:点击下面蓝字可以跳转

  1. 我们用之前学过的find方法可以实现。

  2. 我们用之前学过的遍历方法可以实现。

但是,如果数据特别多的话,几万条数据的遍历或者find,首先,遍历B列是一定得有的了,得在这个遍历中再嵌套A列的遍历,使得代码的执行效率变得很慢,需要好久才能对着几万条数据处理完。

我们用数据字典是怎么提高的执行效率呢?

我们先对A列的数据遍历一遍,把数据存到数据字典里,然后在遍历B列,从数据字典里面取数据,这样我们一共遍历两遍就可以实现了,前面的方法则需要几万遍。所以,执行效率高。

数据字典共有有4个属性6种方法

我们要用数据字典,先需要声明一个object变量

例如:Dim Mydic As Object

然后,创建数据字典。

Set Mydic = CreateObject("scripting.dictionary")

之后我们才能对数据字典进行操作。

1 方法

1.1 ADD

object.Add (key,item)

其中key为键,item为值。

例如:Mydic.Add  "user001" , "123456"

我们就在数据字典里面添加了为user001的键,其值为123456。

数据字典中的键与值是一一对应的关系且键唯一。

1.2 Exists

object.Exists(key)

返回True或False。

刚才说过,键是唯一的,所以我们在添加一个键的时候一般会判断,这个键在字典中是否存在,不判断直接添加可能会出错。

1.3 Keys

object.Keys

返回一个数组。

返回这个字典的所有键。

1.4 Items

object.Items

返回一个数组。

返回这个字典的所有值。

例如,我们有这样一个字典,我们可以用1.3和1.4把他们放到Excel里。

Sub Test001

Dim Mydic As Object

Set Mydic = CreateObject("scripting.dictionary")

Mydic.Add  "user001" , "123456"

Mydic.Add  "user002" , "100000"

Mydic.Add  "user003" , "654321"

Range("A1").Resize(Mydic.Count,1)=Application.Transpose(Mydic.keys)
Range("B1").Resize(Mydic.Count,1)=Application.Transpose(Mydic.items)

End Sub

1.5 Remove

object.Remove(key)

删除字典中的一个键。

1.6 RemoveAll

object.RemoveAll

删除字典中的所有键。

2 属性

2.1 count

object.Count

返回字典中键(值)的个数。

2.2 key

object.Key(key) =newkey

变更键,把现在存在的key替换成newkey。

2.3 item

object.Item(key)

返回key对应的值。

这里需要注意的是,如果这个key不存在的话,则会新生成一个key,并且这个键的值被设置成空。

object.Item(key) =newitem

变更值,把key的值替换成newitem。

这里需要注意的是,如果这个key不存在的话,则会新生成一个key,并且这个key的值被设置成newitem

2.4 CompareMode属性

object.CompareMode[ =compare]

其中compare参数为是0 (二进制)、1 (文本), 2 (数据库)。

简单说下0 (二进制)与 1 (文本)的区别。

就是0 (二进制)下区分大小写, 1 (文本)下不区分大小写。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【烟花原创】VBA零基础之第132篇字典(九)
VBA简单入门36:编写字典,字典的Add方法和Item属性
【VBA字典对象】四属性之Key属性
Python打印对象的全部属性
iOS开发 遍历数组
Excel 常见字典用法集锦及代码详解2
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服