2009-08-18 17 views
47

Używam klasy Dictionary w bibliotece MS Runtime Scripting do przechowywania etykiet, do których mają trafić szablony raportów. Czy istnieje sposób na iterację wszystkich kluczowych par wartości w tym słowniku, tak jak w Pythonie? Po prostu chcę użyć klucza jako numeru wiersza (wszystko idzie w kolumnie A), a wartość będzie nagłówkiem etykiety.Powtarzanie słowników VBA?

Coś jak:

For Each key in dict 
    Range("A" & key).Value = dict(key) 
Next key 

Odpowiedz

83

Spróbuj:

For Each strKey In oDic.Keys() 
    Range("A" & strKey).Value = oDic(strKey) 
Next 
+23

Dodam że strKey powinny zostać uznane 'Jak Variant', bo' Dla Each' nie działa z 'String's . – stenci