Excel VBAの使い方/マクロ・VBA

エクセルのマクロ基本構文と読み方(オブジェクト)

この記事では、オブジェクトに関する知識やWithステートメントについてご紹介。「マクロの基本構文とその読み方(前編)」と合わせて読めば、マクロを読みこなすための知識が整理できます!

緑川 吉行

執筆者:緑川 吉行

エクセル(Excel)の使い方ガイド

マクロ基本構文と読み方(プロパティとメソッド)」では、マクロを読むための基本用語を整理しながら、主に「プロパティ」と「メソッド」に関する基本構文を紹介しました。後編にあたる今回は、最も重要な概念である「オブジェクト」に焦点をあて、その指定方法や階層構造、Withステートメントなどについて詳しく紹介します。

コレクションという概念

「オブジェクト」とは「ExcelVBAが操作する対象」のことでした。前回の記事の冒頭で紹介した通りです。そして、同種のオブジェクトを複数まとめた概念を「コレクション」と呼びます。

例えば、Workbookオブジェクトが複数まとまったものは「Workbooksコレクション」と呼ばれます。オブジェクト名が単数形であるのに対し、コレクション名が複数形であることもポイントです。


同様に、Worksheetオブジェクトが複数まとまったものを「Worksheetsコレクション」と呼びますが、マクロ記録では、これにChartsコレクション(グラフを表すChartオブジェクトのコレクション)も含めた「Sheetsコレクション」として記録されます。


セルを表すRangeオブジェクトについては、コレクションの概念がないので注意が必要です。1つのセルも複数のセルもRangeオブジェクトとして扱います。

オブジェクトを指定する構文

さて。コレクションの概念について理解できたところで、前回の記事でワークシート「4月売上」が「Sheets("4月売上")」と記述されていたことを思い出して下さい。操作対象のワークシートを表すために、マクロ記録で記述されたVBAプログラム上では「Sheets」と複数形で記述されていました。そうです。ここにはコレクション名が記述されていたのです。そして、コレクション名に続いて、オブジェクトに付けられている具体的な名前(ここではワークシート名「4月売上」)が記述されています。この形が、オブジェクトを指定する構文です。
※VBAの文法に則って、より正確に記述すると、コレクション名の後に「Itemプロパティ」を記述して「コレクション名.Item("具体的なオブジェクト名")」とします。Itemプロパティは、コレクション内のメンバを指定するプロパティですが、既定のプロパティなので、ほとんどの場合省略されます。マクロ記録による記述でも省略されています。
※オブジェクトを指定する際、「具体的なオブジェクト名」ではなく、コレクション内のインデックス番号を表す数値を使って指定できます。例えば、2番目のオブジェクトは「Sheets(2)」などのように記述できます。


オブジェクトを指定するイメージは、「コレクションの中の、このオブジェクト」といった感じですね。


>次ページで、このイメージを「より正確」に解説します。
  • 1
  • 2
  • 3
  • 4
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます