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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

文字列:文字列の長さを取得( Len 関数、LenB 関数 )

Len 関数(文字列の長さを取得) 【書式】 result_len = Len …

DateSerial 関数 TimeSerial 関数 使用例
日付時刻:数値から日付・時刻データを取得( DateSerial 関数、TimeSerial 関数 )

DateSerial 関数(数値を使って日付データを取得) 【書式】 date …

メッセージボックス使用例
メッセージボックスを表示(MsgBox関数)

MsgBox関数 【書式】 result = MsgBox ( Prompt [ …

Option Compare Text 例
Option Compare ステートメント

Option Compare ステートメントの使い方 【書式】 Option C …

日付時刻:時・分・秒を取得(Hour、Minute、Second 関数)

日付時刻から時・分・秒を取得する関数 【書式】 time_hour = Hour …

固定長形式で分割(TextToColumns メソッド)
セルのデータを固定長形式で複数のセルに分割する(TextToColumns メソッド・Parse メソッド)

固定長形式でセルを分割 TextToColumns メソッドや Parse メソ …

式を評価し、結果(真・偽)に応じた式・値を返す(IIf 関数)

IIf 関数 の使い方 IIf(アイイフ)関数は、式を評価してその結果(真・偽) …

日付時刻:日付時刻データを計算( DateAdd 関数 )

DateAdd 関数(日付・時刻の値を加算・減算結果を取得) 【書式】 resu …

列挙型変数(Enum ステートメント)

列挙型変数を使う 列挙型変数を使用するには、Enum ステートメントを使って、宣 …

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

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