ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 字典的item为数组时,如何改变其中的单个元的值?

字典的item为数组时,如何改变其中的单个元的值?

作者:绿色风 分类: 时间:2022-08-17 浏览:107
楼主
wcymiss
Q:见如下代码:在使用字典对象的时候,把数组作为了字典对象的item,但是当我想给item中的某个元素赋值的时候,却没有成功,请问如何解决?
  1. Sub test()
  2.   Dim d As Object
  3.   Set d = CreateObject("Scripting.dictionary")
  4.   d("a") = Array("中国", "英国", "美国")
  5.   MsgBox d("a")(1) '显示结果是“英国”
  6.   '在这里对数组的item的元素赋值
  7.   d("a")(1) = 1
  8.   MsgBox d("a")(1) '显示结果还是“英国”,多么希望显示结果是1啊
  9.   Set d = Nothing
  10. End Sub

A:字典的item选项应该是一个整体,如果item的内容是一个数组,我们对这个数组的一个元素赋值,对于字典来说,可能是不接受的。d("a")(1)不能单独成为一个变量,但却可以读取。
解决方法是加入一个中间变量:
  1. Sub test()
  2.   Dim d As Object, k
  3.   Set d = CreateObject("Scripting.dictionary")
  4.   d("a") = Array("中国", "英国", "美国")
  5.   MsgBox d("a")(1) '显示结果是“英国”
  6.     k = d("a")
  7.     k(1) = 1
  8.     d("a") = k
  9.   '在这里对数组的item的元素赋值
  10.   MsgBox d("a")(1) '显示结果还是“英国”,多么希望显示结果是1啊
  11.   Set d = Nothing
  12. End Sub
2楼
wqfzqgk
你这又重新加入了字典和前面有什么关系啊

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap