このページの内容について
このページは、VBAエキスパート(ExcelVBAベーシック)試験合格講座の第二十二回記事です。公式テキスト第4章「VBAの構文」と第9章「シートとブックの操作」の内容について解説します。1時間の講義でお話する程度の分量です。講座受講者の復習での利用を想定しています。
コレクション
コレクションとは
コレクションとはアイテムの集合体のことです。アイテムには値やオブジェクトを指定できます。
コレクションの宣言
コレクションは変数と同様、宣言して使用します。
Dim コレクションに指定する任意の名称 As Collection
コレクションの作成
コレクションはオブジェクトの一種です。オブジェクトは宣言するだけでは使用できず、オブジェクトを作成もしくは既存のオブジェクトを代入する必要があります。
Set コレクションに指定した名称 = New Collection
Set コレクションに指定した名称 = コレクションオブジェクト
コレクションのメソッド
コレクションには以下の4つのメソッドが用意されています。他のメソッドやプロパティはありません。
メソッド | 役割 |
---|---|
Add | コレクションにアイテム(値やオブジェクト)を追加します |
Count | コレクションに格納されたアイテムの数を数えます |
Item | コレクションに格納されたアイテムを取り出します |
Remove | コレクションに格納されたアイテムを削除します |
Addメソッド
引数 | 役割 |
---|---|
Add | コレクションにアイテム(値やオブジェクト)を追加します |
Count | コレクションに格納されたアイテムの数を数えます |
Item | コレクションに格納されたアイテムを取り出します |
Remove | コレクションに格納されたアイテムを削除します |
「ThisWorkbook」オブジェクトには「WorkSheets」という「WorkSheet」オブジェクトの集合体が含まれています。

コレクションの参照方法
コレクションはオブジェクトの集合体なので、コレクションの中のオブジェクトを特定してメソッドやプロパティを呼び出すことができます。「コレクション名(インデックス)」でオブジェクトを特定します。一部のコレクションは
サンプルコード(クリックでコピー)
Private Sub Test_Collection()
Debug.Print ThisWorkbook.Worksheets(1).Name
End Sub
実行結果
上記サンプルでは「ThisWorkbook」の「WorkSheets」コレクションの一番目のオブジェクトの「Name」プロパティを取得・表示しています。
コレクションもオブジェクト
ややこしいポイントですが、コレクションもオブジェクトの一種です。そのためコレクション自体もメソッドとプロパティを持っています。
サンプルコード(クリックでコピー)
Private Sub Test_Collection2()
Call ThisWorkbook.Worksheets.Add
Debug.Print ThisWorkbook.Worksheets.Count
End Sub
実行結果
上記サンプルでは「ThisWorkbook」の「WorkSheets」コレクションの「Add」メソッドにより、ブックへシートを追加し、その後「Count」プロパティでWorkSheetオブジェクトの数を取得・表示しています。
【PR】VBAエキスパート試験対策記事
当サイトでは、オデッセイコミュニケーションズ社が運営する試験であるVBAエキスパート(Excel VBA ベーシック/Excel VBA スタンダード)の出題範囲をベースに用語や各種関数の解説などを行っています。試験合格に向けて必須と言われる公式テキストに沿って解説をしています。受験をするか悩んでいる方、テキストとは別視点の解説を見てみたい方、受験はしないがExcelVBA(マクロ)に興味がある方へ向けた記事です。
Comment