ExcelマクロVBA入門 | 第58回.コレクションとは | Excelマクロの基礎と応用、エクセルVBAの入門・初級・初心者向け解説



最終更新日:2013-02-18

第58回.コレクションとは



同種のオブジェクトを複数まとめたものを「コレクション」と呼びます



例えば、


Workbookオブジェクトが複数まとまったものは「Workbooksコレクション」


Worksheetオブジェクトが複数まとまったものは「Worksheetsコレクション」


オブジェクト名が単数形であるのに対し、


コレクション名が複数形であることがポイントです。


多くの場合、○○○オブジェクトに対応する、○○○sコレクションがあります。

(全てのオブジェクトにコレクションがあるわけではありません)


従って、Excelには、多くのコレクションがあります。



コレクションの中から、単一のオブジェクトを指定する場合は、


コレクション.Item(インデックス)


または、


コレクション.Item(オブジェクト名)


なのですが、


普通は、.Itemを省略して、


コレクション(インデックス)


または、


コレクション("オブジェクト名")


のように書きます。


具体的には、


Workbooks("Book1.xls")

Worksheets("Sheet1")

Worksheets(1)


等になります。


この使い方は、既に何度も出てきたものですので、問題は無いでしょう。



では、


セルである、Rangeオブジェクトのコレクションは、どうなっているのでしょうか。


少なくとも、Rangesコレクションというものはありません。


Rangeコレクションという言い方も、普通はしません。


言わば、セル(単一セル)のコレクションが、Rangeオブジェクトなのです。


そもそも、単一セルを表すオブジェクトが存在していないのです。


Cellsが複数形で、Cellオブジェクトのコレクションのような感じを受けるにもかかわらず、


Cellオブジェクトなんて存在していない事が、余計に混乱を招いているのかもしれません。


Rangeオブジェクトだけが特別なのです。


Rangeは、オブジェクトでもあり、コレクションでもあります




・コレクションの要素数


コレクション.Count


これで、コレクション内のオブジェクト数を取得できます。


つまり、


コレクション(1)

コレクション(2)

・・・

コレクション(コレクション.Count)


これらが、単一のオブジェクトであり、その集合がコレクションとなっています。


ワークシートの場合なら、


例えば、「Sheet1」「Sheet2」「Sheet3」の3つのシートがある場合


Worksheets.Count → 3

Worksheets(1) → Sheet1

Worksheets(2) → Sheet2

Worksheets(3) → Sheet3


と言う事になります。






同じテーマ「ExcelマクロVBA入門」の記事

第59回.コレクション処理(For Each)
第60回.エラー処理(On Error)
第61回.「On Error Go To」と「Exit Sub」
第62回.「On Error Resume Next」とErrオブジェクト
第63回.ブックを開く(Open)
第64回.ブックを閉じる・保存(Close,Save,SaveAs)
第65回.シートの追加、名前の変更(Add,Name)

新着記事 ・・・新着記事一覧を見る

画像のトリミング(PictureFormat,Crop)|ExcelマクロVBAサンプル集(12月27日)
シート保護|Google Apps Script入門(12月24日)
表示の固定|Google Apps Script入門(12月24日)
グラフ|Google Apps Script入門(12月21日)
入力規則|Google Apps Script入門(12月13日)
並べ替え|Google Apps Script入門(12月12日)
メモの挿入・削除と改行文字|Google Apps Script入門(12月6日)
リンクの挿入・編集・削除|Google Apps Script入門(12月6日)
セルに数式を入れる|Google Apps Script入門(12月1日)
セルのコピー&各種ペースト|Google Apps Script入門(11月22日)

アクセスランキング ・・・ ランキング一覧を見る

1.RangeとCellsの使い方|ExcelマクロVBA入門
2.最終行の取得(End,Rows.Count)|ExcelマクロVBA入門
3.徹底解説(VLOOKUP,MATCH,INDEX,OFFSET)|エクセル関数超技
4.Range以外の指定方法(Cells,Rows,Columns)|ExcelマクロVBA入門
5.セルの参照範囲を可変にする(OFFSET,COUNTA,MATCH)|エクセル関数超技
6.セルのコピー&値の貼り付け(PasteSpecial)|ExcelマクロVBA入門
7.ひらがな⇔カタカナの変換|エクセル基本操作
8.CSVの読み込み方法|ExcelマクロVBAサンプル集
9.変数とデータ型(Dim)|ExcelマクロVBA入門
10.VBAのFindメソッドの使い方には注意が必要です|ExcelマクロVBA技術解説



  • >
  • >
  • >
  • コレクションとは

  • このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


    記述には細心の注意をしたつもりですが、
    間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
    なお、掲載のVBAコードは自己責任で使ってください。万一データ破損等の損害が発生しても責任は負いません。

    ↑ PAGE TOP