Excel精英培训网

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

[已解决]VBA字典问题

[复制链接]
发表于 2011-12-25 18:10 | 显示全部楼层 |阅读模式
Sub xcs()
Dim d As New Dictionary
Dim arr, x
arr = Range("a2:b10")
For x = 1 To UBound(arr)
   d(arr(x, 1)) = d(arr(x, 1)) + arr(x, 2)
Next x
Range("d2").Resize(d.Count) = Application.Transpose(d.Keys)
Range("e2").Resize(d.Count) = Application.Transpose(d.Items)
End Sub
这段代码,最后为什么是 Range("d2").Resize(d.Count) = Application.Transpose(d.Keys)
而不是Range("d2").Resize(d.Count) =d.keys
字典的key,
A   1
B   5
X    7
不就是前面的A\B\X吗?这样跟单元格的方向应该是一致的呀,为什么还要用tanspose转下呢?求解
最佳答案
2011-12-25 18:26
字典的KEYS和ITEMS方法都是一维数组,数组中一维对应的单元格区域是一行,现在要返回在一列,所以要转置
发表于 2011-12-25 18:26 | 显示全部楼层    本楼为最佳答案   
字典的KEYS和ITEMS方法都是一维数组,数组中一维对应的单元格区域是一行,现在要返回在一列,所以要转置
回复

使用道具 举报

发表于 2011-12-25 20:02 | 显示全部楼层
数组字典班第二期,由我主讲,请大家支持,谢谢。
回复

使用道具 举报

发表于 2011-12-25 21:02 | 显示全部楼层
liuguansky 发表于 2011-12-25 18:26
字典的KEYS和ITEMS方法都是一维数组,数组中一维对应的单元格区域是一行,现在要返回在一列,所以要转置

什么时间开课呀,开始报名了吗,不知道是不是还要考试呀。
回复

使用道具 举报

发表于 2011-12-25 21:03 | 显示全部楼层
到底是由谁主讲数组第二期呀?

点评

现在已经第二讲了,开课很久了。VBA中级也开了。你可能要等下期了。请关注培训信息发布吧。  发表于 2011-12-25 22:55
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-14 19:35 , Processed in 0.255490 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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