分享

VBA简单入门38:将字典输出到工作表,keys方法和items方法

 剩矿空钱 2018-07-07



字典,是由两个一维数组构成的。keys方法将字典里所有的key转换成一个一维数组,items方法将所有的item转换为一个一维数组。

1、将字典数据输出到工作表

字典的keys方法和items方法都会返回一个一维数组,其中,keys方法返回的是一个没有重复值的一维数组。

所以将字典的数据输出到工作表,需要使用Transpose函数转置。

其中d.count这里使用了字典的count属性,返回字典的数据条数,这里等于5。

VBA简单入门38:将字典输出到工作表,keys方法和items方法

也可以使用Array函数将keys和items打包输出

VBA简单入门38:将字典输出到工作表,keys方法和items方法

实际中,更加常用的操作是字典配合数组,将处理后的数据放到数组中去,最后输出到工作表。

因为字典只有key和item两列,如遇到3列以上的数据,还是将数据放进数组方便输出。

2、keys方法和items方法在前期绑定和后期绑定时读取字典指定位置元素的区别

在前期绑定的情况下,keys和items都可以直接当一维数组使用,以keys为例。

如下面的x,返回keys一维数组的第2个元素(下标从0开始),d.keys就相当于一个一维数组。

VBA简单入门38:将字典输出到工作表,keys方法和items方法

后期绑定,如像前期绑定那样操作,则会发生错误

VBA简单入门38:将字典输出到工作表,keys方法和items方法

解决办法是,用keys方法就字典数据变为数组。下图中x=dd.keys,x会变为一个一维数组,然后再通过数组的方法,间接读取字典中指定位置的某个元素。

VBA简单入门38:将字典输出到工作表,keys方法和items方法

当然,也可以直接一步到位,x = dd.keys()(1),这里dd.keys()实际上是相当于一个一维数组。上图中的x = dd.keys可以看成是x = dd.keys()省略了()。

VBA简单入门38:将字典输出到工作表,keys方法和items方法

见下图中的文档注释:

VBA简单入门38:将字典输出到工作表,keys方法和items方法


练习:多条件查找

VBA简单入门38:将字典输出到工作表,keys方法和items方法

参考代码:

处理办法,将多个条件用“&”组合在一起,形成一个唯一的key。

VBA简单入门38:将字典输出到工作表,keys方法和items方法


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多