[VBA]DictionaryをFor Eachで回すときの書き方

DictionaryをFor Eachで回したい時、Inで各要素を受け取るデータ型はvariant型にします。
For Eachで、受け取れるのはkey/vauleの内keyの方です。

value側はparamList.Item(curKey)な感じで、取得します。
これは、ハッシュ検索になるのでO(1)の計算量となるので速度は十分に速いです。

Dim curKey As Variant
 
Set paramList = CreateObject("Scripting.Dictionary")
paramList.Add "key1", "val1"
paramList.Add "key2", "val2"
 
For Each curKey In paramList
    Debug.Print curKey
    Debug.Print paramList.Item(curKey)
Next
 
' キーを指定して削除
objDic.Remove(strDelKey)
 
' 全削除
objDic.RemoveAll    
 
Debug.Print objDic.Count


関連記事

コメントを残す

メールアドレスが公開されることはありません。