Dictionary オブジェクト(連想配列)に登録された値(item)を、キー(key)やインデックス番号を指定して取得する(Excel VBA)

【本日のミッション】

Excel VBAでDictionary オブジェクト(連想配列)に登録された値(item)を、キー(key)やインデックス番号を指定して取得せよ。

ミッションの概要

Dictionary オブジェクト(連想配列)「dic_d」に登録されている値(item)を2つの方法

  • Itemプロパティを使用する
  • Itemsメソッドを使用する

で取得するのが今回のミッションです。

Itemプロパティでキー(key)を指定して取得

Itemプロパティを使って、キー(key)に関連付けられた値(item)を取得することができます。

プロパティ説明
Item(key)【キー(key)が登録されている場合】
・キー(key)に関連付けられた値(item)を取得します。
・「Dictionaryオブジェクト.Item(key) =別の値」で、既存の値(item)を別の値に変更します。
【キー(key)が登録されていない場合】
新しいキー(key)を登録し、値(item)を関連付けます。
(キーが既に存在する場合でもエラーになりません。)
いずれの場合も、「item」は省略可能。
Dictionaryオブジェクト.item(キー)

「item」は省略することができます。

Dictionaryオブジェクト(キー)

下記プロシージャでは、Dictionaryオブジェクト「dic_d」のキー(key)「かつ丼」から、値(item)「6」を取得します。(下はitemを省略したものです。)

dic_d.item("かつ丼")
dic_d("かつ丼")

Dictionary オブジェクト(連想配列)に登録された値(item)を、キー(key)やインデックス番号を指定して取得する(Excel VBA)

Itemsメソッドでインデックス番号を指定して取得

itemsメソッドで返される値(item)全体から、インデックス番号のデータのみを取得することができます。

メソッド説明
ItemsDictionaryオブジェクトの値(item)全てを配列にして返します。
※この時の配列のインデックス番号は0(ゼロ)から始まります。
また、items()(インデックス番号)」で、指定したインデックス番号の値(item)を取得します。
Dictionaryオブジェクト.items()(インデックス番号)

下記プロシージャは、Dictionaryオブジェクト「dic_d」のインデックス番号「3」から、値(item)「6」を取得します。

dic_d.items()(3)

Dictionaryオブジェクトのインデックス番号は「0」から始まるため、インデックス番号「3」は4つ目のデータになります。

Dictionary オブジェクト(連想配列)に登録された値(item)を、キー(key)やインデックス番号を指定して取得する(Excel VBA)

参考

Dictionary オブジェクト(連想配列) とは ビッグデータ高速処理を可能にする技 (Excel VBA)
重複しないユニークなリスト作成 ~Dictionaryオブジェクト(連想配列)を使う1~ (Excel VBA)
重複しないユニークなリスト作成 ~Dictionaryオブジェクト(連想配列)を使う2~ (Excel VBA)
Dictionaryオブジェクト(連想配列) CreateObject関数を使う方法・ 参照設定を使う方法 違いを理解してエラー防止(Excel VBA)
Dictionary オブジェクト(連想配列)に登録されたキー(key)をまとめて取得する(Excel VBA)
Dictionary オブジェクトに新しくキー(key)を登録し、値(item)を関連付ける(Excel VBA)
Dictionary オブジェクト 実行時エラー 457 を出さないために 指定したキー(key)が登録されているか確認する(Excel VBA)
Dictionary オブジェクト(連想配列)に登録されたキー(key)をインデックス番号から取得(Excel VBA)
Dictionary オブジェクト(連想配列)に登録されたキー(key)を変更する(Excel VBA)
Dictionary オブジェクト(連想配列)に登録された値(item)をまとめて取得する(Excel VBA)
Dictionary オブジェクト(連想配列)に登録された値(item)を、キー(key)やインデックス番号を指定して取得する(Excel VBA)
Dictionary オブジェクト(連想配列)に登録された値(item)を変更する(Excel VBA)
Dictionary オブジェクト(連想配列)に登録されたキー(key)と値(item)を削除(Excel VBA)
Dictionary オブジェクト(連想配列)に登録されたキー(key)を一気に取得する(Excel VBA)
セル範囲を一気に変数(配列)に入れる ~バリアント型(Variant)変数を配列として使用する~(Excel VBA)

■■■スポンサーリンク■■■