オブジェクトとは、何かの「操作」を指示する「対象物」のことをいいます。

Excelでは、「ワークシート」や「セルの範囲」、「図」や「グラフ」などを指します。

オブジェクトは階層構造になっていて、書式は上の階層から下の階層へ記述していきます。

スポンサーリンク

オブジェクトの階層構造

オブジェクトの階層を図にすると、次のようになります。

•アプリケーションは「Excel」
•ブックは「Book1」や「Book2」など
•シートは「Sheet1」や「Sheet1」など
•セルは「RangeやCells」などを指します。

オブジェクトの取得と書式

書式例

•Book1(ブック1)のSheet1(シート1)のA1セルの内容を「123」にするという場合の書式例

マクロの書式
オブジェクト1.オブジェクト2.オブジェクト3.Value=123
→各要素は「.」ピリオドで接続します。
→「=」は、右辺の値を左辺に「代入」するという意味です。

Workbooks(1).Worksheets("Sheet1").Range("A1").Value=123

上位のオブジェクトを省略する書式例1

上位のオブジェクトは、省略することができる場合があります。

•作業中のブックのSheet1(シート1)のA1セルの内容を「123」にする場合の書式例

マクロ書式
オブジェクト1.オブジェクト2.Value=123
→作業中のブックは省略可能

Worksheets("Sheet1").Range("A1").Value=123

上位のオブジェクトを省略する書式例2

•作業中のブックのアクティブシートの場合はシート名を省略することができる。
•作業中のブックのアクティブシートのA1セルの内容を「123」にする場合は、シート名を省略することができる。

マクロ書式
オブジェクト1.Value=123
Range("A1").Value=123
→シートを省略することができます。
Range("A1")=123
→Valueを省略することができます。
 アクティブシートの場合
Book1のオブジェクトやSheet1のオブジェクトを書かないときは、アクティブブックのアクティブシートを対象にしているとみなされます。
スポンサーリンク

オブジェクトの集合=コレクション

オブジェクトの集まったものを、「コレクション」といいます。

Workbooksコレクション

•ブックが集まったものを「Workbooksコレクション」といいます。

Workbookオブジェクトの書式例

•ワークブックのBook1オブジェクトを取得する場合。

記述方法
Workbooks(”Book1”)
→ブックの名前で取得する
Workbooks(1)
→何番目に開いたかというインデックス番号を示す

Worksheetsコレクション

•シートが集まったものを「Worksheetsコレクション」といいます。

Worksheetオブジェクトの書式例

•ワークシートのSheet2オブジェクトを取得する場合。

記述方法
Worksheets(”Sheet2”)
→ワークシートSheet2の名前で取得する
Worksheets(2)
→左から数えて2番めにあるシートを示す

スポンサーリンク

Withステートメントで処理を簡潔にする

ひとつのオブジェクトに対して、さまざまな支持をする場合がよくあります。
例えば次のような場合です。

A2セルのフォントオブジェクトに対して

  • 「MS Pゴシック」にする
  • サイズを「16」にする
  • 「太字」を設定する
  • 「斜体」を設定する

とします。

•Withステートメントを使わない時

Range("A2").Font.Name = "MS pゴシック"
Range("A2").Font.Size = 16
Range("A2").Font.Bold = True
Range("A2").Font.Italic = True

 
•Withステートメントを使う時
とても、見やすくなりますね。

With Range("A2").Font
 .Name = "MS pゴシック"
 .Size = 16
 .Bold = True
 .Italic = True
End With

以上で「オブジェクトの階層構造と書式例」の説明を終わります。




おすすめの記事