初心者のためのExcelマクロ超入門(絶対できるVBA開発)

マクロがまったくわからない人のためにエクセルマクロやVBAについてできるだけわかりやすく書いています。Twitter:@shuhhohhey

初心者のためのExcel(エクセル)マクロVBA入門-プログラミングの基礎9~オブジェクト

オブジェクトとは?

さて今回は「オブジェクト」についてです。オブジェクトが理解できると、もうほぼVBAでマクロを作成するための基礎は覚えたということになります。そして、ここが一番理解が「少しだけ難しい」ところでもあると思います。概念的なお話なので、難しいかもしれませんが、頑張って理解しましょう。

オブジェクトとはモノ!?

オブジェクトをそのまま訳すと「モノ、こと」という意味になります。まず、この部分がようわからん!となってしまう最たる原因なので、Excelマクロをマスターするためだけに言い換えると

オブジェクトとはExcelを構成するすべてのモノ

と言うことができます。Excelを構成するすべてのモノとは、例えばシートとかセルとか、果てはメニューバーなどでExcelは出来ているのでそれらがすべてがオブジェクトということになります。

f:id:drumer2sh:20130730100109p:plain

例えばExcelはブックで出来ているのでブックオブジェクト、と言います。そしてブックはシートから出来ているので、ブックオブジェクトはシートオブジェクトで構成されていますし、シートは範囲(Range)を指定できるので、範囲のオブジェクトでも構成されています。されにもとをたどれば、Excelは元々オフィスのアプリケーションの1つですので、アプリケーションオブジェクトが大元にあるということになります。つまり変な言い方なのですが、

オブジェクトは他のオブジェクトを持っている(構成されている)

と言えます。さて、以前プログラミングの基礎3でやったHello Worldを覚えているでしょうか?単純にセルA1に出力する命令文です。ドットでつないで書いたアレです。

Sheet1.Range("A1").Value = "Hello World!!"

ドットを「の」に置き換えて読んだのを覚えていますか?これはオブジェクトの構成を上から順に記述しているんです。つまり、シートオブジェクトの範囲(Range)オブジェクトのValueプロパティの値をHello Worldにする。ということです。

ん?プロパティ?ってなぁに?は、次回にします。
どうでしょうか。オブジェクト分かりましたでしょうか?