Dictionaryに要素を追加(Add)して、データを取得する場合は色々な方法があります。
Dictionaryの結果を2次元配列に格納したい場合があります。
一次元配列の場合は代入するだけでしたが、二次元配列の場合はそのまま、一つずつ代入します。
DictionaryのKey/Itemを二次元配列に変換するサンプルコード
'■Dictionaryから二次元配列に変更する
Public Function call_dic_to_arr2D(dic As Dictionary)
Dim tmp() As Variant
ReDim tmp(UBound(dic.Keys), 1)
Dim i As Long
For i = 0 To UBound(tmp)
tmp(i, 0) = dic.Keys(i)
tmp(i, 1) = dic.Items(i)
Next
call_dic_to_arr2D = tmp
End Function
実際の使い方
'参照設定 Microsoft Scripting Runtime
Public Sub sample()
Dim dic As Dictionary
Set dic = New Dictionary
dic.Add "1月", "Jan"
dic.Add "2月", "Feb"
dic.Add "3月", "Mar"
dic.Add "4月", "Apr"
dic.Add "5月", "May"
dic.Add "6月", "Jun"
dic.Add "7月", "Jul"
dic.Add "8月", "Aug"
dic.Add "9月", "Sep"
dic.Add "10月", "Oct"
dic.Add "11月", "Nov"
dic.Add "12月", "Dec"
Dim arr As Variant
arr = call_dic_to_arr2D(dic)
'■結果確認
Debug.Print arr(0, 0) '1月
Debug.Print arr(0, 1) 'Jan
Debug.Print arr(1, 0) '2月
Debug.Print arr(1, 1) 'Feb
End Sub




コメント