Dictionaryに格納したデータを取り出して使用したい場合があります。
Dictionaryのキー/アイテム(要素)を取得する【ExcelVBA】ではセルに出力したりするイメージでしたが、
Dicttionaryのデータを配列として使用したい場合があります。
配列として渡したい場合、Variant型に代入します。
Dictionaryの要素を配列に渡すサンプルコード
'参照設定 Microsoft Scripting Runtime
Public Sub sample()
Dim arr As Variant
Dim dic As Dictionary
Set dic = New Dictionary
'■dicにデータを格納する
dic.Add "あああ", 1
dic.Add "いいい", 2
dic.Add "ううう", 3
Dim var As Variant
'■dicのキー(Keys)を配列へ代入
var = dic.Keys
Debug.Print var(0) 'あああ
Debug.Print var(1) 'いいい
Debug.Print var(2) 'ううう
'■dicのアイテム(Items)を配列へ代入
var = dic.Items
Debug.Print var(0) '1
Debug.Print var(1) '2
Debug.Print var(2) '3
End Sub
注意点
- Option Base 1 の影響は受けません。
- アイテムが配列の場合は、var(0)(0)のように指定して呼び出す必要があります。
※子要素側はOption Base 1の影響は受けます。
関連記事
Dictionaryのキー/アイテム(要素)を取得する【ExcelVBA】
Dictionaryにキーと要素を追加する【Addメソッド】【ExcelVBA】
Dictionaryのキーの要素を変更・更新する【ExcelVBA】



コメント