コンテナとは

Excelを構成しているオブジェクトは、すべてが対等な関係ではなく、ワークシートは、セルより上位に当たる「親」のような存在です。またブックはさらにそのワークシートより上位に当たる「親」のような存在です。
この「親」のことを「コンテナ」と呼びます。

●コンテナの概念を利用したステートメント

下の例は、「Book1.xlsのSheet1のセルA1」に「コンテナ」という文字列を入力します。

この例文のように、コンテナの概念を利用してオブジェクト同士を連結していくと、1つのステートメントで、別のブックの別のシートのセルにデータを入力することが出来ます。

●コンテナ概念を利用しないステートメント

Workbooks("Book1.xls").Activate
Worksheets("Sheet1").Activate
Range("A1").Value = "コンテナ"

この例文のようにコンテナ概念を使用しないと場合は、ブックやシートを順にアクティブにしなければなりません。
このような処理は、VBAでは意外に時間がかかり、処理速度は遅くなってしまいます。

コレクションとは、

Workbookオブジェクトの集合体は、Workbooksコレクションであり、Worksheetオブジェクトの集合体はWorksheetsコレクションです。
VBAでは、オブジェクトの場合には「Workbook」や「Worksheet」のように単数形になります。そしてコレクションの場合には、「Workbooks」や「Worksheets」のように複数形になります。

●ただし、セルを表す「range」のような例外もあります。
セル範囲(例:Range("A1:D10"))

<例1>
全てのブックを一度に閉じるステートメントです。
Workbooks.Close
解説
「Workbooksコレクション」とは、開いてるWorkbook全体を指し、この場合全てのブックを閉じるという意味になります。

<例2>インデックス番号でオブジェクトを特定する

<サンプル>ブックを閉じる
Workbooks(1).Close
1、インデックス番号を使って「Workbooksコレクション」の中の「1番目」のブックを参照する。
2、結果的に単体の「Workbookオブジェクト」を参照する。
Workbooks (1)
コレクション インデックス番号 (単体の)オブジェクト

<例3>ブック名でオブジェクトを特定する。

オブジェクトを特定するときに使用するのは、インデックス番号だけではありません。
インデックス番号の代わりにブック名を使用することが出来ます。
ブック名は「”」ダブルクヲーテーションで囲みます。

<サンプル>ブックを閉じる
Workbooks("Book1.xls").Close
Workbooks ("Book1.xls")
コレクション ブック名 (単体の)オブジェクト