配列(Dictionary)

DictionaryのKey/Itemを一次元配列に変換する【ExcelVBA】

Dictionaryに要素を追加(Add)して、データを取得する場合は色々な方法があります。
Dictionaryの結果を1次元配列に格納したい場合があります。
※私はDictonaryで重複データの削除後、並び替えする為に使用しています。

DictionaryのKey/Itemを一次元配列に変換するサンプルコード

'参照設定 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"
    
    '■Dictionary→一次元配列に変換
    Dim arr1 As Variant, arr2 As Variant
    arr1 = dic.Keys
    arr2 = dic.Items

    '■結果確認
    Debug.Print arr1(0)    '1月
    Debug.Print arr1(1)    '2月
    Debug.Print arr2(0)    'Jan
    Debug.Print arr2(1)    'Feb
    
End Sub

関連記事

コメント

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