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

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

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

緑川 吉行

執筆者:緑川 吉行

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


オブジェクトの階層構造

Excelには、ブックの中にワークシートがあり、そのワークシートの中にセルがある、といったような階層構造があります。


これと同じように、ExcelVBAのオブジェクトにも階層構造があります。最上位のオブジェクトが、Excelを表す「Applicationオブジェクト」で、その下からWorkbookオブジェクト→Worksheetオブジェクト→Rangeオブジェクト・・・と続いています。


オブジェクトは階層構造をたどって指定される

先ほど紹介した「セルの背景色を『薄い緑』に設定する操作のVBAプログラム」を、階層構造をわかりやすく説明するために書き換えてみました。Interiorプロパティは「オブジェクト(ここではセル)の内部」を表す「Interiorオブジェクト」を返すプロパティ、ColorIndexプロパティは塗りつぶしの色を設定するプロパティです。

左から順番に、Excel→ブック→ワークシート→セル→セル内部と階層をたどっている様子がよくわかると思います。階層をたどる過程も「.(ピリオド)」でつなげて記述します。このピリオドも日本語の「の」に読み替えるとわかりやすいと思います。
※マクロ記録では、「Application」~「Range("B2")」までが「Selection」と記述されています。
※「_」は行継続文字です。長いステートメントを複数行に分けて記述するときに使います。


そして、一番最後のピリオドが、オブジェクトとプロパティを区切るピリオドです。つまり、「Application」~「Interior」までが「操作の対象」、つまり「オブジェクト」を表している部分なのです。こうしてみると、こんなに長いステートメントも、前回紹介したプロパティの構文であることがわかります。


ピリオドがたくさんある場合は、最後のピリオドが「オブジェクト」と「プロパティ、またはメソッド」を区切るピリオドで、その前のピリオドは「オブジェクトの階層をたどっている過程」を区切るピリオドであることがポイントです。

ちなみに、メソッドの引数がたくさん記述される場合もステートメントが長くなります。この場合も、まず「オブジェクト」と「メソッド」を区切っているピリオドを確認したら、あとは「,(カンマ)」で区切られている引数の意味をひとつひとつ読み解いていくだけです。


>続いて、重要ポイント「Withステートメント」の紹介です!
  • 前のページへ
  • 1
  • 2
  • 3
  • 4
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

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