配列(Dictionary)

Dictionaryに配列を格納する【ExcelVBA】

Dictionaryは連想配列です。キーとアイテムを1対1で使っていませんか?
Dictionaryに配列を入れ子で格納する事で、効率上がります。

(例)
ログデータから商品コードに紐づけて配列(売上個数、売上金額)を管理し売上一覧を作成。
ログデータから顧客コードに紐づけて配列(来店頻度、購入金額)を管理し顧客ベストを作成

Dictionaryに配列を格納するサンプルコード

'参照設定 Microsoft Scripting Runtime
Public Sub sample()
    Dim arr As Variant
    
    Dim dic As Dictionary
    Set dic = New Dictionary
    
    '■配列を作成
    arr = Array(100, 200, 300, 400, 500, 600)
    
    '■配列をdicに格納する
    dic.Add "num", arr
    
    Debug.Print dic.Item("num")(0) '100
    Debug.Print dic.Item("num")(1) '200
    Debug.Print dic.Item("num")(2) '300
    Debug.Print dic.Item("num")(3) '400
    Debug.Print dic.Item("num")(4) '500
    Debug.Print dic.Item("num")(5) '600
 
  '■変数を使用しなくても直接Array関数で入れ子にできます
  dic.Add "test", Array(aaa, BBB, CCC)   
End Sub

関連記事

コメント

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