vba Dictionary - 从Items返回KEY()

时间:2015-06-04 22:13:37

标签: vba excel-vba dictionary excel

我有一个字典,其中每个VALUE是另一个字典。在我的代码中,我使用.Items()(i)遍历顶级字典。顺便说一句,它需要保持这种状态。

Dim dic As New Scripting.Dictionary
Dim myValue As New Scripting.Dictionary

For i = 0 to dic.count-1
  ' 
  ' the VALUE of the KEY/VALUE pair is...
  set myValue = dic.Items()(i) 
  '
  ' how do I retrieve the KEY???
  '
Next i

我的问题:

如何在此循环结构中检索顶级字典的KEY?这可能是非常明显的,我只是在这里画一个空白。

2 个答案:

答案 0 :(得分:8)

Sub Tester()

    Dim d, i
    Set d = CreateObject("scripting.dictionary")

    d.Add "K1", "v1"
    d.Add "K2", "v2"
    d.Add "K3", "v3"

    For i = 0 To d.Count - 1
        Debug.Print d.items()(i), d.keys()(i)
    Next i

End Sub

答案 1 :(得分:5)

或许这个:

Dim key As Variant

With dic
    For Each key In .Keys
        Debug.Print key, .Item(key)
    Next
End With