ExcelWork.info

Excel(エクセル)のマクロ・VBA・関数・操作などのメモ

コレクション(Collection)オブジェクト「連想配列」

      2017/10/12

コレクション(Collection)オブジェクトの使い方


【書式】

Dim myCollection As Collection

Set myCollection = New Collection


コレクションを利用するため、変数を Collection 型で宣言し、New ステートメントを使用して、Collection オブジェクトをセットします。

コレクション(Collection)オブジェクトは、要素(myItem)とそれを取り出すためのキー(Key)を持ち、簡単な連想配列として使用できます。(本格的な連想配列を利用するには 連想配列(Dictionary オブジェクト)を参照して下さい。)


【メソッド】

myCollection.Add ( myItem [, Key, Before, After ] )

myCollection.Remove ( { Index | Key } )

myItem = myCollection.[ Item ] ( { Index | Key } )


【プロパティ】

ItemCount = myCollection.Count


【各項目の説明】

  • myCollection  ・・・  コレクション( Collection )オブジェクト
  • myItem  ・・・  コレクション( Collection )に追加するメンバ(要素)
  • Before  ・・・  Add メソッド 使用時、ここで指定したインデックス番号のメンバ(要素)の前に追加します。(省略可)
  • After  ・・・  Add メソッド 使用時、ここで指定したインデックス番号のメンバ(要素)の後に追加します。(省略可)
  • Index  ・・・  コレクション( Collection )のメンバ(要素)の位置(インデックス番号)
  • Key  ・・・  コレクション( Collection )のメンバ(要素)を取り出すときに使用する名前で文字列で指定します。Add メソッド 使用時、省略した場合は、Item メソッド で取り出すときインデックス番号( Index )しか使用できません。また、数値を指定するとエラーになります(CStr 等の型変換関数で、文字列型にすると設定でいます)。
  • ItemCount  ・・・  コレクション( Collection )のメンバ(要素)数

Item メソッドは、コレクション( Collection )の規定メソッドなので、「Item」は省略することができます。

Add メソッド を利用して追加したメンバ(要素)には、自動的に1から始まるインデックス番号がつけられます。

Add メソッド で、メンバ(要素)を追加する際、すでに設定されている「キー」(Key )を設定してしまうとエラーが発生します。



コレクション(Collection)使用例

サンプルVBAソース


実行結果

Collection 01a

Collection 01b


サンプルVBAソース


実行結果

Collection 02




 - VBA基本 , , ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

RSet 関数・LSet 関数 例1
文字列:文字列変数の値を右詰めまたは左詰めにする(RSet ステートメント・LSet ステートメント)

RSet ステートメント・LSet ステートメント 【書式】 < RSet ステ …

UBound LBound 関数 使用例01
配列の要素数を取得する(UBound 関数・LBound 関数)

UBound 関数・LBound 関数 【書式】 result = UBound …

RGB値一覧表
RGB 値一覧表(XlRgbColor 列挙型)

RGB 値(XlRgbColor 列挙型)一覧表 RGB 関数を使用して、出力さ …

フォントサイズ(Size,StandardFontSize)例
フォントサイズ(Size プロパティ・StandardFontSize プロパティ)

フォントサイズを取得・設定する(Size プロパティ) Size プロパティは、 …

変数宣言と変数のデータ型
変数のデータ型・宣言(Dim ステートメント)

変数の宣言 一般的な方法 【書式】 Dim varname [ As type, …

Resize プロパティ1
指定したセル範囲のサイズを変更(Resize プロパティ)

Resize プロパティ 指定したセル範囲のサイズ(行数や列数)を変更します。 …

配列(多次元配列・配列の次元の変更)

多次元配列 【書式】 多次元配列の宣言 <静的配列(固定長配列)> Dim my …

指定した値を8進数で表記した文字列に変換する(Oct 関数)

Oct 関数 の使い方 【書式】 result = Oct ( expressi …

式の値に応じて多分岐を行う(Switch 関数)

Switch 関数 の使い方 Switch 関数は、「式・値」を対にして指定して …

RegExp オブジェクト Test メソッド
VBA で正規表現を使う(RegExp オブジェクトのメソッド)

RegExp オブジェクトのメソッド RegExp オブジェクトの詳細に関しては …