トップ > 資格を活かすには > やってみよう!Excel VBAで業務改善! > VBAとの出会い編: 第2話「星くん、VBAを学ぶ!」3/4 :星くんオブジェクトを理解する

やってみよう!Excel VBAで業務改善! VBAとの出会い編|第2話 「星くん、VBAを学ぶ!」

星くんオブジェクトを理解する

「あ!さっき入力したメッセージが出た!」

星くんが素直に驚きます。

「当然、こんなこともできる」

八木くんは、プロシージャを次のように書き換えて再び実行しました。

Sub TEST()
       Range("A1") = "星くんはVBAに悪戦苦闘しています"
End Sub

「今度は、メッセージが出ないね」 「うん。今回は違うことをやってるんだ」

八木くんはそういって、Excelの画面に切り替えます。

「あ!A1セルの中身が書きかわってる!」

またまた星くんが素直に驚きます。

「あはは。最初にメッセージを表示させたときは、セルの"値"を取り出したんだ。
今やったのはその逆で、セルに"値"を書きこんだのさ。
Rangeオブジェクトというオブジェクトを使えば、セルを自由に操作できることが何となくわかったかい?
この他にも、Excel上にあるほとんどのものが"オブジェクト"として、VBAから操作できるんだ」

星くんの顔が、パッと明るくなります。

「そうか…。オブジェクトを使えばExcelにある様々なものをVBAから自由に操作できるんだ…。
スゴイじゃないか!」
「はは…というか、そのためのVBAなんだけどね。
ちなみに"Range("A1")"というのは"Range("A1").Value"を省略した書き方で、
本当はRangeオブジェクトの"Valueプロパティ"というのを使ってるんだ。
Valueプロパティは、オブジェクトの値を取得/設定するためのプロパティで、
他のオブジェクトでもよく使うから覚えておきなよ」
「他にもRangeオブジェクトのプロパティってあるのかい?」 「たくさんあるよ。Formulaプロパティ、NumberFormatプロパティ、Offsetプロパティ…
このあたりは、一気に覚えてもしょうがないから、必要な時にその都度覚えるといい」
「プロパティの他に、ほらメ…メソなんとかってやつもあったじゃないか」 「メソッドね。メソッドも1つ使ってみようか」

シーズン1 「VBAとの出会い」編: 各エピソードへのリンク
一覧にもどる