更改嵌套的字典中VBA(Changing nested dictionary in VBA)

2019-11-03 17:59发布

我要问一个问题当溶液进来一个测试。 所以我张贴反正和回答,以便其他人可以受益。

这个问题是:

我运行下面的代码,并得到一个运行时错误450 - 参数或无效的属性赋值错误号码

Dim data, tmpDict As Dictionary
Set data = New Dictionary
Set tmpDict = New Dictionary

data.Add 123, tmpDict

Set tmpDict = data.Item(123)
tmpDict.Add "somekey", 100
data.Item(123) = tmpDict

发生在最后一行的错误。 代码被简化以集中于在一个已经存在的条目改变嵌套字典。

我怎么能在这个成功吗?

Answer 1:

可以实现该解决方案在承包仅有1最后3行,使用:

data.Item(123).Add "somekey", 100

代替:

Set tmpDict = data.Item(123)
tmpDict.Add "somekey", 100
data.Item(123) = tmpDict


文章来源: Changing nested dictionary in VBA