オデッセイの運営サイト一覧

ExcelⓇ、Accessのマクロ・VBAのスキルを評価する資格VBAエキスパート

企業・教育機関の皆さまへ 試験会場を探す お問い合せ

やってみよう!Excel VBAで業務改善!|VBAとの出会い編

第2話「星くん、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との出会い」編:エピソード一覧

一覧へ戻る

MENU