VBAのDictionaryの使い方

VBAのDictionaryオブジェクトは、キーと値のペアを格納するための非常に便利な方法を提供します。これは、データを効率的に整理し、検索する際に役立ちます。ここでは、基本的な使い方から、いくつかの高度なテクニックまでを説明します。

Dictionaryオブジェクトの作成

まず、Dictionaryオブジェクトを作成する必要があります。これを行うには、CreateObject関数を使用してScripting.Dictionaryオブジェクトのインスタンスを作成します。

Dim dict As Object
Set dict = CreateObject("Scripting.Dictionary")

キーと値を追加する

キーと値のペアをDictionaryに追加するには、Addメソッドを使用します。このメソッドは、キーと値の両方を引数として取ります。

dict.Add "key1", "value1"
dict.Add "key2", "value2"

キーによる値の取得

キーを使用して値を取得するには、単にそのキーをDictionaryオブジェクトに渡します。

Dim value As String
value = dict("key1") ' "value1"が返されます

キーの存在チェック

特定のキーがDictionaryに存在するかどうかを確認するには、Existsメソッドを使用します。

If dict.Exists("key1") Then
    MsgBox "キーは存在します。"
Else
    MsgBox "キーは存在しません。"
End If

キーと値のペアの削除

特定のキーとそれに関連付けられた値を削除するには、Removeメソッドを使用します。

dict.Remove "key1"

すべてのキーと値のペアを削除する

Dictionaryからすべてのキーと値のペアを削除するには、RemoveAllメソッドを使用します。

dict.RemoveAll


キーと値のリストの取得

Dictionaryのすべてのキーまたは値を取得するには、KeysまたはItemsメソッドを使用します。

Dim allKeys As Variant allKeys = dict.Keys ' キーの配列を取得 
Dim allValues As Variant allValues = dict.Items ' 値の配列を取得


注意点

  • Dictionaryを使用する前に、参照設定で"Microsoft Scripting Runtime"を有効にするか、CreateObjectを使って動的に作成する必要があります。

  • キーは一意でなければなりません。同じキーを再度Addメソッドで追加しようとすると、エラーが発生します。

  • キーは大文字と小文字を区別しません。つまり、"Key1""key1"は同じキーとみなされます。

これらの基本をマスターすると、VBAでのデータ管理がはるかに簡単になります。

いいなと思ったら応援しよう!