在VBA中更改嵌套字典

时间:2015-04-15 19:55:32

标签: vba dictionary nested

当解决方案进行一次测试时,我正要问一个问题。因此,无论如何我都要发帖并回答,以便其他人可以受益。

问题是:

我运行下面的代码并得到运行时错误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

错误发生在最后一行。代码被简化为专注于更改现有项目中的嵌套字典。

我怎样才能成功呢?

1 个答案:

答案 0 :(得分:0)

使用以下方法可以实现解决方案,仅使用1来收缩最后3行:

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

而不是:

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