辞書 Dictionary の生成と操作
このコードは、VBAでDictionaryオブジェクトを使ってデータの追加、削除、存在確認、操作を行う方法を示しています。
' 辞書 Dictionary の生成と操作
Private Sub Dictionary_Add_Remove_Exists()
Dim members As Dictionary
Set members = New Dictionary
With members
.Add "m01", "Bob"
.Add "m02", "Tom"
Debug.Print .Count ' 2
Debug.Print .Item("m01") ' Bob
If .Exists("m01") Then .Remove ("m01")
End With
members("m02") = "Tim"
Debug.Print members("m02") ' Tim
Stop
End Subコードの概要
Dictionary_Add_Remove_Existsというサブプロシージャは、VBAのDictionaryオブジェクトを生成し、いくつかの基本的な操作(データの追加、削除、存在確認、値の更新)を実行しています。
コードの詳細
Dictionaryオブジェクトの生成:Dim members As DictionarySet members = New Dictionary
まず、Dictionaryオブジェクトのインスタンスを生成します。このオブジェクトをmembersという変数にセットします。Withステートメントを使ったデータの追加と操作:Withステートメントを使って、Dictionaryオブジェクトに対する操作をまとめて行います。- データの追加 (
.Add):.Add "m01", "Bob".Add "m02", "Tom"membersにキー"m01"で値"Bob"、キー"m02"で値"Tom"を追加します。 - 要素数の確認 (
.Count):Debug.Print .Count ' 2Dictionaryオブジェクトの要素数を出力します。この時点では、2つの要素が追加されているので、2が出力されます。 - キーを使った値の取得 (
.Item):Debug.Print .Item("m01") ' Bob
キー"m01"に対応する値"Bob"を出力します。 - キーの存在確認と削除 (
.Existsと.Remove):If .Exists("m01") Then.Remove ("m01")
キー"m01"が存在する場合、そのキーと対応する値をDictionaryから削除します。
- データの追加 (
- キーの値の更新:
members("m02") = "Tim"Debug.Print members("m02") ' Tim
キー"m02"の値を"Tom"から"Tim"に更新し、新しい値を出力します。 - プログラムの一時停止:
StopStopステートメントを使ってプログラムを一時停止します。これにより、実行中のコードをデバッグモードで調べることができます。以下が、一時停止時のローカルウィンドウです。

コード全体の動作まとめ
Dictionaryオブジェクトを作成し、キーと値のペアを追加します。- 追加した要素数を確認し、特定のキーに対応する値を取得します。
- 特定のキーが存在するかを確認し、存在する場合はそのキーと値を削除します。
- 既存のキーの値を更新し、新しい値を出力します。
- 最後に、プログラムを一時停止して、デバッグモードでコードを調査できます。
このコードは、Dictionaryオブジェクトの基本的な操作(追加、削除、存在確認、値の更新)の方法を学ぶのに適しています。


