如何在Excel VBA中将Dictionary设置为Dictionary值?

时间:2019-07-12 14:32:36

标签: excel vba dictionary

我想将字典设置为字典值? 但这会引发类似

的错误
  

“参数数量错误或属性分配无效”。

如何解决此问题?

sub test()
Dim Dict As Scripting.Dictionary
Set Dict = New Scripting.Dictionary
Dim rows As Scripting.Dictionary
Set rows = New Scripting.Dictionary 

dict("name") = "Sarah"
dict("surname") = "Jones"

rows(dict("name")) = dict

end sub

1 个答案:

答案 0 :(得分:4)

Dictionary是一种对象类型,具有默认成员

rows(dict("name")) = dict

此分配的RHS实际上是对dict.Item的调用,但是没有任何参数地调用...但是Key参数是必需的-因此出错。 / p>

enter image description here

Set关键字消除了默认成员调用的歧义,因为“是的,我的意思是对象引用本身

Set rows(dict("name")) = dict