Excel VBA オブジェクトとコレクション

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

オブジェクトとコレクション

VBAでは、処理の対象となるものを指定します。
この処理の対象のことを「オブジェクト」といいます。
そして同じオブジェクトの集まりを「コレクション」といいます。

オブジェクト

VBAでは、Excelを構成する主な要素を「オブジェクト」として
扱います。
主なオブジェクトは

  • Excel自体を表す ・・Applicationオブジェクト
  • ワークブックを表す・Workbookオブジェクト
  • ワークシートを表す・Worksheetオブジェクト
  • グラフシートを表す・Chartオブジェクト
  • ウィンドウを表す・・Windowオブジェクト
  • セルを表す・・・・・Rangeオブジェクト

などがあります。
上記の主なオブジェクトを含めて290以上のオブジェクトがあります。
オブジェクト一覧はこちらをご覧下さい。
Excelのオブジェクトは階層構造で管理されています。
VBAで処理を行うときに処理対象となるオブジェクトを
正しく指定するために階層構造を理解することが重要です。

主なオブジェクトの階層構造図


オブジェクトを参照するには、階層構造にしたがって
対象のオブジェクトを指定します。
あるオブジェクトからみて1つ上の階層の
オブジェクト(親オブジェクト)のことを「コンテナ」と呼びます。
例えば

  • Range【レンジ】オブジェクトのコンテナは Worksheetオブジェクト
  • Worksheetオブジェクトのコンテナは・・ Workbookオブジェクト
  • Workbookオブジェクトのコンテナは・・・Applicationオブジェクト

のようになります。

コンテナを省略した場合

オブジェクトを参照する場合、オブジェクトの階層構造に
したがって順に参照をしますが、コンテナは省略することができます。
例えば、A1セルを参照するときRange(”A1″)と記述しますが
この場合Excelアプリケーションのアクティブブックの
アクティブシートのRange(“A1”)と解釈されます。

コレクション

「コレクション」とは、同じオブジェクトの集まりのことをいいます。
また、コレクションに含まれる一つひとつのオブジェクトのことを
「メンバー」といいます。
Workbookオブジェクトの集まりをWorkbooksコレクション
Worksheetオブジェクトの集まりをWorksheetsコレクション
というように、コレクションはオブジェクトを
複数形で記述したキーワードで指定されます。
「コレクション」の「メンバー」を参照するには
Workbooks(“Book1.xlsx”)
Worksheets(“Sheet1”)
のように「メンバー」を指定します。

主なコレクション

コレクション名内容
Workbooks【ワークブックス】開いているすべてのブック
Sheets【シーツ】ブック内のすべてのシート
Worksheets【ワークシーツ】ブック内のすべてのワークシート
Charts【チャーツ】ブック内のすべてのグラフシート

以上で
オブジェクトとコレクションについての解説を終了します。
ありがとうございました。

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

フォローする

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