配列(Dictionary)

Dictionaryの要素(キー、アイテム)を配列に渡す【Keysメソッド/Itemsメソッド】【ExcelVBA】

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】

コメント

タイトルとURLをコピーしました