辞書 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 Dictionary
Set members = New Dictionary
まず、Dictionary
オブジェクトのインスタンスを生成します。このオブジェクトをmembers
という変数にセットします。With
ステートメントを使ったデータの追加と操作:With
ステートメントを使って、Dictionary
オブジェクトに対する操作をまとめて行います。- データの追加 (
.Add
):.Add "m01", "Bob"
.Add "m02", "Tom"
members
にキー"m01"
で値"Bob"
、キー"m02"
で値"Tom"
を追加します。 - 要素数の確認 (
.Count
):Debug.Print .Count ' 2
Dictionary
オブジェクトの要素数を出力します。この時点では、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"
に更新し、新しい値を出力します。 - プログラムの一時停止:
Stop
Stop
ステートメントを使ってプログラムを一時停止します。これにより、実行中のコードをデバッグモードで調べることができます。以下が、一時停止時のローカルウィンドウです。
コード全体の動作まとめ
Dictionary
オブジェクトを作成し、キーと値のペアを追加します。- 追加した要素数を確認し、特定のキーに対応する値を取得します。
- 特定のキーが存在するかを確認し、存在する場合はそのキーと値を削除します。
- 既存のキーの値を更新し、新しい値を出力します。
- 最後に、プログラムを一時停止して、デバッグモードでコードを調査できます。
このコードは、Dictionary
オブジェクトの基本的な操作(追加、削除、存在確認、値の更新)の方法を学ぶのに適しています。