字典法

字典法

set d=createobject("scripting.dictionary")

上面的代码就相当于你准备好了一本空白的字典了,之后你就要往其中添加内容,比如说我们现在往字典里加入第一个词条“VBA”,并且给这个词条加上解释“一种Excel中使用的编程语言”,看下面的代码

 d("VBA")="一种Excel中使用的编程语言"

这样就给字典加了一个词条“VBA”并且给它赋了值,这里赋的值可以随便写,空值也是可以的。真实的字典有一个特点就是里面的词条都是不重复的,这同样也是VBA字典的一个主要特点,当你对同一个词条重复赋值的时候,后面的值自动将前面的值给覆盖,比如前面已经给“VBA”这个词条赋过值了,如果你现在再执行

d("VBA")="VB语言的一种"

那现在VBA的值就变成了“VB语言的一种”,前面的赋值被覆盖了。既然有这样的特点,那字典在去重复上就有大用处了。比如我有一大串上千条数据,现在我想把不重复的值找出来,我只要把这上千条词条都放了字典中,赋值随便,可以全都写空值,当全都赋完值后,按前面说的字典中留下的都是一些不重复的词条了。比如

d("A")=""

d("B")=""

d("C")=""

d("A")=""

执行完上面的赋值之后字典中留下的词条就只有A、B、C,从而达到了去重复的目的。去完重复还要把不重复的值拿出来用,有办法,d.keys就表示字典中所有的词条了,不过这个词条你不能直接用,必须要将其放到一个数组中,比如放到数组arr中,arr=d.keys,那在上面的例子中arr就是包括A、B、C的三项的一维数组了。那如果你要用A、B、C的值而不是A、B、C本身,那就用arr=d.items,因为我们上面赋的全都是空值,那这里arr就是包含三个空值的一维数组了。

那么如果我们想知道字典中是不是存在某个词条怎么办呢?比如我提前建好了一个字典,然后要判断一些单元格的值,如果值在字典中执行一种操作,不在字典中执行另一种操作,这时就要判断字典中是不是包括某个词条了。好办,比如判断A在不在字典中

d.exists("A")

如果上面的函数返回的值是true,则A包含在字典中,False则不包含在字典中,是不是很简单呢?

最后一句,d.removeall删除字典中的所有词条。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值