迭代VBA字典?

man*_*oid 62 excel vba

我正在使用MS Runtime Scripting库中的Dictionary类来存储标签将用于报告模板的位置.有没有办法迭代该字典中的所有键值对,就像在Python中一样?我只想使用密钥作为行号(它都在A列中),值将是标签头.

就像是:

For Each key in dict
    Range("A" & key).Value = dict(key)
Next key
Run Code Online (Sandbox Code Playgroud)

EBG*_*een 112

尝试:

For Each varKey In oDic.Keys()
    Range("A" & varKey).Value = oDic(varKey)
Next
Run Code Online (Sandbox Code Playgroud)

请注意,键迭代器必须声明为a Variant.

  • 我想补充一点,strKey应该被声明为`As Variant`,因为`For Each`不适用于`String`s. (35认同)