web-dev-qa-db-ja.com

VBA辞書を繰り返しますか?

MSランタイムスクリプトライブラリのDictionaryクラスを使用して、レポートテンプレートのラベルの保存先を保存しています。 Pythonのようにその辞書のすべてのキーと値のペアを反復処理する方法はありますか?キーを行番号として使用するだけで(すべて列Aに入力されます)、値はラベルヘッダーになります。

何かのようなもの:

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

試してください:

For Each varKey In oDic.Keys()
    Range("A" & varKey).Value = oDic(varKey)
Next

キーイテレータはVariantとして宣言する必要があることに注意してください。

107
EBGreen