Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 5528|回复: 8

[已解决]数组与字典

[复制链接]
发表于 2016-11-25 21:27 | 显示全部楼层 |阅读模式
如何,一条一条或一段一段的取字典中的key或item具体的值都未知,如何把字典中的key和item装入数组如:arr(1,1)=keys,arr(1,2)=items
最佳答案
2016-11-26 08:35
本帖最后由 zjdh 于 2016-11-26 08:37 编辑

同理取区域数据可以
For I = 3 To 15
   ARR(I - 2,1) = Application.Index(D.KEYS, I)
   ARR(I - 2,2) = D(ARR(I - 2, 1))
Next
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2016-11-25 21:41 | 显示全部楼层
key和item只能装一维数组,比如:
arr=d.keys
brr=d.items
回复

使用道具 举报

 楼主| 发表于 2016-11-26 06:39 | 显示全部楼层
雨吧 发表于 2016-11-25 21:41
key和item只能装一维数组,比如:
arr=d.keys
brr=d.items

那字典里的k和i能取一条或一段吗?还是只能分别给数组后,再循环重组
回复

使用道具 举报

发表于 2016-11-26 08:22 | 显示全部楼层
本帖最后由 砂海 于 2016-11-26 08:24 编辑

取一条         
a=d("文本")
------------------------------------
循环               for each b in d.keys


next

回复

使用道具 举报

发表于 2016-11-26 08:23 | 显示全部楼层
字典中的 key 和 item 是一一对应的,
比如有一组姓名和电话:

王一  13812345678
李二  13912345678
赵三  13012345678

加入字典就是:

d("王一")=“13812345678”
d("李二")=“13912345678”
d("赵三")=“13012345678”

那么通过 k=d("王一") 就可以直接取出 ”王一“ 的电话,

k=“13812345678”

如果加入数组,
arr=d.keys,brr=d.items

arr(0)="王一"
arr(1)="李二"
arr(2)="赵三"

brr(0)="13812345678"
brr(1)="13912345678"
brr(2)="13012345678"

通过这种对应关系,可以利用循环或直接赋值方式取出需要的值。

正因为如此,所以有些老师形象的把字典称做 ”呼之即来,挥之即去“!

字典除了可以直接存放数值以外,还可以存放一些对象,利用字典+对象操作工作簿及工作表等复杂问题时可以起到事半功倍的作用。

所以有人也把字典比做”字典是个框,什么都能装“!

这样的帖子本论坛有很多,楼主感兴趣可以搜索一下。

回复

使用道具 举报

发表于 2016-11-26 08:27 | 显示全部楼层
取一条信息可以这样取
A = Application.Index(D.KEYS, 2)
B = Application.Index(D.ITEMS, 2)
回复

使用道具 举报

发表于 2016-11-26 08:35 | 显示全部楼层    本楼为最佳答案   
本帖最后由 zjdh 于 2016-11-26 08:37 编辑

同理取区域数据可以
For I = 3 To 15
   ARR(I - 2,1) = Application.Index(D.KEYS, I)
   ARR(I - 2,2) = D(ARR(I - 2, 1))
Next
回复

使用道具 举报

 楼主| 发表于 2016-11-26 09:13 | 显示全部楼层
zjdh 发表于 2016-11-26 08:35
同理取区域数据可以
For I = 3 To 15
   ARR(I - 2,1) = Application.Index(D.KEYS, I)

百思不得其姐,干脆来论坛找哥。感谢!
回复

使用道具 举报

发表于 2017-11-14 18:40 | 显示全部楼层
学习学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-25 06:50 , Processed in 1.065904 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表