辞書 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オブジェクトを生成し、いくつかの基本的な操作(データの追加、削除、存在確認、値の更新)を実行しています。

コードの詳細

  1. Dictionaryオブジェクトの生成:
    Dim members As Dictionary
    Set members = New Dictionary
    まず、Dictionaryオブジェクトのインスタンスを生成します。このオブジェクトをmembersという変数にセットします。
  2. 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から削除します。
  3. キーの値の更新:
    members("m02") = "Tim"
    Debug.Print members("m02") ' Tim
    キー"m02"の値を"Tom"から"Tim"に更新し、新しい値を出力します。
  4. プログラムの一時停止:Stop
    Stopステートメントを使ってプログラムを一時停止します。これにより、実行中のコードをデバッグモードで調べることができます。以下が、一時停止時のローカルウィンドウです。

コード全体の動作まとめ

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

このコードは、Dictionaryオブジェクトの基本的な操作(追加、削除、存在確認、値の更新)の方法を学ぶのに適しています。

Follow me!