連想配列Dictionaryの使用例【ExcelVBA】

キーとデータをセットで格納できるオブジェクトで、通常の配列変数の場合はインデックス番号に値で使用していたが

連想配列の場合はキーにアイテムをセットで使用することができる

通常の配列変数 配列変数名(1)でインデックス番号に応じた値

連想配列 連想配列名(キーの名前)でキーに応じたアイテム

参照設定を行う方法でツール・参照設定からMicroSoft Scripting RuntimeにチェックをつけOKで参照可能にする

AddメソッドでKey・Itemにそれぞれ追加する

削除する場合はRemoveメソッドでKeyを指定して削除

Keyは一意のものでないと追加できません 例:Key:="aiueo" , Item:=10 その後 連想配列.Add Key:="aiueo",Item:=20(これはエラー)

纏めて削除する場合はRemoveAllメソッドで削除する

Keyの存在判定をする場合にはExistsメソッドで存在確認をしたいKeyを引数に指定し

Trueが返ってきた場合、そのKeyは存在し、Falseが返ってきた場合、そのKeyはない

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

実際に使用したサンプルコード

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)

'変更したセルがF5セルならば
If Target.Address = Range("F5").Address Then

'Dictionaryオブジェクトの宣言
Dim 連想配列 As New Scripting.Dictionary

'xという変数を整数型で宣言
Dim x As Integer

'店舗名をキーに、売上をアイテムに追加
For x = 2 To 27

連想配列.Add Key:=Cells(x, 2).Value, Item:=Cells(x, 3).Value

Next

'選択した店舗の売り上げを表示する
MsgBox "売上は" & 連想配列.Item(Target.Value)

End If

End Sub

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です