Excel精英培训网

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

[已解决]关于"VBA字典"方面的困惑

[复制链接]
发表于 2014-4-10 11:35 | 显示全部楼层 |阅读模式
本帖最后由 969341591 于 2014-4-10 13:23 编辑

VBA8027集VBA字典.rar (7.21 KB, 下载次数: 8)
发表于 2014-4-10 12:15 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2014-4-10 12:20 | 显示全部楼层
本帖最后由 969341591 于 2014-4-10 12:22 编辑
1091126096 发表于 2014-4-10 12:15
看看你的截图,是从0开始的。


我指的是从本地窗口看显示的编号是从1开始
222.png
回复

使用道具 举报

发表于 2014-4-10 12:21 | 显示全部楼层
969341591 发表于 2014-4-10 12:20
我指的是从本地窗口看显示的编号是从1开始

本地窗口显示的不用在意,我导出来看就知道编号了。


回复

使用道具 举报

 楼主| 发表于 2014-4-10 12:24 | 显示全部楼层
hwc2ycy 发表于 2014-4-10 12:21
本地窗口显示的不用在意,我导出来看就知道编号了。

那这样的问题究竟应该怎样来理解?
回复

使用道具 举报

发表于 2014-4-10 12:38 | 显示全部楼层
969341591 发表于 2014-4-10 12:24
那这样的问题究竟应该怎样来理解?

自己明白是怎么会回事就成了,你权当显示的编号错误吧。

回复

使用道具 举报

发表于 2014-4-10 12:46 | 显示全部楼层    本楼为最佳答案   
969341591 发表于 2014-4-10 12:24
那这样的问题究竟应该怎样来理解?

字典中的Keys和Items内容,如果要把【全部数据】取出来以便在VBA代码过程中引用,
那么采用的方法是:

(关键词的)变量名=dic.keys
(字典项目的)变量名=dic.items

取出结果为2个从0 到 dic.Count -1 的一维数组。 注意,不是 1 to dic.Count


这个是绝对正确的,请你牢牢记住!


…………
至于本地窗口中观察到的结果,仅仅是为了方便分析用的,里面反映的内容并不是VBA过程调用时的结果。

而且本地窗口观察字典项有缺点:
① 只能显示1-256个字典项中的关键词,【超过256部分不予显示!】
② 只能看一下每个key的名称,【不能看到item的内容。】
③ 如果key不能显示为字符串,则除了Item序号,其它什么也看不到。

总之,本地窗口中的内容,并非全部真实有效的内容,仅仅是微软以某种方式映射出来的信息,
所以不能算数,你应该无视它的有效性,仅作观察、参考。(一般也仅仅只能用作代码调试时的观察)







回复

使用道具 举报

 楼主| 发表于 2014-4-10 13:22 | 显示全部楼层
香川群子 发表于 2014-4-10 12:46
字典中的Keys和Items内容,如果要把【全部数据】取出来以便在VBA代码过程中引用,
那么采用的方法是:
...

谢谢,你翔实回答让我明白了个中的原由.
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 00:25 , Processed in 0.508575 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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