病院で処方された薬や病気についてわかりやすく解説します

VBA講座2-7 オブジェクトの階層について

ノートパソコンとハーブ

今回はオブジェクトの階層についてお話します。システムを作成する上で必要な考え方です。難しくないので、軽く読み流しちゃって下さい。

スポンサーリンク

オブジェクトの階層について

 

vba2-7-1

階層はこのようになっています。

 

例えば「A1セルに1を入れる」というのは

Range(“A1”).Value=1

このように書くことができるというのは前回説明しましたね。

 

ですがこれだけですと、複数のExcelファイルを開いている場合や、シートが複数ある場合、どのA1セルなのかがわかりません。その時に使用するのが階層というわけです。それでは上の図を説明していきましょう。

 

ApplicationというのはExcel自体のことです。イメージとしては会社名

Workbookはブック。いわゆるExcelのファイルですね。イメージとしては部署

WorksheetはExcelのシートです。イメージとしては役職

Rangeはセルを意味します。イメージとしては名前

 

会社内で職員の名前を呼ぶ時ってどうします?会社名はもちろん部署も結構省略されますよね。例えば…A社のB部署に所属するC課長の場合。C課長と呼ばれる事が多いかと思います。

 

なぜならいちいち言わなくてもわかるからです。ですが役職と名前は省略しませんよね。「Cさん」と言ったら怒られますし、「おい」「ちょっと」なんて名前すら出さずに呼んだら左遷、下手したらクビでしょう(笑)。VBAも同じような感じです。

 

Applicationは基本省略します。Workbookも基本は1つでシステムを作りますので、こちらも省略する事が多いです。WorksheetとRangeは基本省略しません。こんな感じでイメージしていただければわかりやすいかと思います。

オブジェクトの階層~具体例~

 

それでは具体的にみていきましょう。

例えば…

Excelの(Application)
家計簿という名前のファイルの(Workbook)
6月というシートの(Worksheet)
A1セル(Range)
に(=)
100を入れる。(100)

 

これらを繋げてみると…

Application.Workbooks(“家計簿”).Worksheets(“6月”).Range(“A1”).Value = 100

こうなりますが、実際は最初の2つは省略しますので

Worksheets(“6月”).Range(“A1”).Value = 100

こう書くことが多いです。

 

ちなみにWorkbookとWorksheetに「s」が付いている理由ですが、「複数ある中の一つを、後に続く(””)で指定している」という感じでとらえていただければわかりやすいかと思います。

 

それではオブジェクトの階層については以上です。お疲れ様でした。次回はWithステートメントについてお話します。
次の講座

スポンサーリンク

こちらの記事もおすすめです

関連記事

サイト内検索