Excel精英培训网

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

[已解决]VBA字典疑问

[复制链接]
发表于 2012-12-13 16:30 | 显示全部楼层 |阅读模式
在一段代码中,如果循环了两次字典赋值,如以下部分代码,
代码一:
For Each cell In Sheets(2).Range("A2:A10")
            Dic(cell.Text) = ""
Next cell
代码二:
For Each cell In Sheets(2).Range("B2:B10")
             Dic(cell.Offset(0, 1).Text) = ""
Next cell
cell 为单元格变量,代码一在前,代码二在后,在执行代码二的时候,是不是会默认把代码一形成的字典Dic给清空。然后再往里面装入数值?
最佳答案
2012-12-13 16:34
不会。如果是相同的关键字,只是会修改KEY对应的ITEM。
发表于 2012-12-13 16:34 | 显示全部楼层    本楼为最佳答案   
不会。如果是相同的关键字,只是会修改KEY对应的ITEM。
回复

使用道具 举报

 楼主| 发表于 2012-12-13 16:37 | 显示全部楼层
hwc2ycy 发表于 2012-12-13 16:34
不会。如果是相同的关键字,只是会修改KEY对应的ITEM。

非常感谢您!速度太快了,是不是可以这样理解,如果不人为设置 Dic.RemoveAll的话,在往字典中不断加入数据的时候会形成新的关键字与项,也可能是您说的修改关键字与项。只有人为设置了Dic.RemoveAll才会清空之前的结果?
回复

使用道具 举报

发表于 2012-12-13 16:40 | 显示全部楼层
对啊。
回复

使用道具 举报

 楼主| 发表于 2012-12-13 16:47 | 显示全部楼层
hwc2ycy 发表于 2012-12-13 16:40
对啊。

您太热心了,我好几个问题都是您帮着解决的,谢谢。
回复

使用道具 举报

发表于 2012-12-13 17:21 | 显示全部楼层
编码        数量        编码        数量
M21513-05-16        1        M21513-05-16        1
M21513-04-14        1        M21513-04-14        1
M21593-05-16        1        M21593-05-16        1
如果ITEM不是空,需是有数量,那怎么进行求和了。想了一会儿了。比如上面这个例子
回复

使用道具 举报

发表于 2012-12-13 17:31 | 显示全部楼层
用循环 加自身  相当于累加器、计数器的用法
例如 单元格写法:
d1(Range("a" & i).Value) = d1(Range("a" & i).Value) + Range("b" & i)

有如数组写法:
  d2(brr(b, 1)) = brr(b, 3) + d2(brr(b, 1))   这样的

最好用exists(key)判断一下是否存在KEY了,也可不用判断。
回复

使用道具 举报

发表于 2012-12-13 17:31 | 显示全部楼层
dic(key)=dic(key)+数量
这样就实现累加了。
回复

使用道具 举报

 楼主| 发表于 2012-12-13 18:33 | 显示全部楼层
hhl1984 发表于 2012-12-13 17:21
编码        数量        编码        数量
M21513-05-16        1        M21513-05-16        1
M21513-04-14        1        M21513-04-14        1

8楼,回答了您的问题。
回复

使用道具 举报

 楼主| 发表于 2012-12-13 18:33 | 显示全部楼层
hhl1984 发表于 2012-12-13 17:21
编码        数量        编码        数量
M21513-05-16        1        M21513-05-16        1
M21513-04-14        1        M21513-04-14        1

7楼也回答了您的问题。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-9 04:27 , Processed in 0.349748 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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