配列(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レコード数を返す
ItemItemに対するKeyを返す
KeyKeyに対するItemを返す
CompareMode文字列比較キー比較モードの設定

Dictionaryの基本・メソッド

Dictionaryのデータを参照する

Dictonaryの使い方

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

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

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

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

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

具体的には社員名簿管理

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

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

エラー発生時

その他

コメント

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