配列(Dictionary)

Dictionary(連想配列)のまとめ(逆引き目次)

Dictionaryは理解すればVBAの速度改善やコードの可読性が上がります。
Dictionaryは文字通り辞書(連想配列)の事で、他言語では「ハッシュ」と呼ばれたりします。

Dictionaryを使用する前の準備

'■参照設定する場合
'VBEメニューから「ツール」→「参照設定」を選択し、「Microsoft Scripting Runtime」
   Dim dic As Dictionary
   Set dic = New Dictionary

'■参照設定しない場合
   Dim dic As Object
   Set dic = CreateObject("Scripting.Dictionary")

メソッド・プロパティ一覧

メソッド名 説明
Add レコードを追加
Remove レコードを削除
Exists 指定されたキー(key)の存在確認
RemoveAll レコードを全て削除
Keys キーを配列にして返す
Items 値(Item)を配列にして返す
プロパティ名 説明
Count レコード数を返す
Item Itemに対するKeyを返す
Key Keyに対するItemを返す
CompareMode 文字列比較キー比較モードの設定

Dictionaryの基本・メソッド

Dictionaryのデータを参照する

Dictonaryの使い方

WorksheetFunction.SumIfのように条件付きでの集計
WorksheetFunction.vLookUpのように条件付きでの検索の場合、Dictionaryのが断然早いです。

さらに活用してほしいのが、Dictonaryの使い方として、

①単純なDictionaryの場合、キーのみ使用して重複チェックをする。

②少し有効活用して連想配列として利用

具体的にはSumif
りんご 10
みかん    20
ぶどう 30
りんご 10
↓↓↓↓↓↓↓↓↓↓
りんご 20
みかん    20
ぶどう 30
③これが本来の使い方 Dictionaryに配列を格納する【入れ子】

具体的には社員名簿管理

Key Item1 Item2 Item3
1 東京 営業 青木
2 東京 営業 田中
3 東京 営業 喜田
4 大阪 営業 浅田
5 大阪 事務 大森
6 大阪 事務 加藤

Key1に対して配列で東京/営業/青木のデータを作成する事で、データの有効活用できます。

エラー発生時

その他

コメント