ExcelVBA

【エクセルVBA】必須用語「オブジェクト」を理解しよう

VBAの資格取得を応援する「パソコン教室ISA」ライターチームです。

VBAの学習を開始すると、「オブジェクト」、「プロパティ」、「取得」など耳慣れない単語がたくさんでてきます。VBAの超基本「セルの取得」を例に必須用語を理解しましょう。

パソコン教室ISAの資料をダウンロード(無料)

VBAにおけるオブジェクトとは?

なじみのあるエクセルを例にしましょう。VBAにおけるオブジェクトとは操作したい対象のことを言います。エクセルを使うときにある「セル」に数値を入力したり、文字列を入力したりしますが、その「セル」がオブジェクトの1つになります。また、グラフ、画像、図などを挿入しますが、それらもオブジェクトといいます。

オブジェクトの階層構造

セルやグラフがオブジェクトの1つというお話でした。ここで押さえておかないといけないのは、オブジェクトには階層構造が存在するということです。セルやグラフはシートの中に存在しています。シートはブックの中に存在しています。また、ブックはエクセルというアプリケーションの中に存在しています。これらシート、ブック、アプリケーションもオブジェクトです。例えば、シートに名前を付けたり、ブックを上書き保存したり、エクセルの操作対象になりますよね。図で表すと以下のような構造になります。

アプリケーション(Excel) > ブック > シート >セルやグラフなど

階層構造を知らないと・・・

コードを書いたプログラミングを実行したときに思ってもいなかったシートに結果が出てしまった。実行するたびに違う結果になる。というようなことが起きます。そのようなエラーが出る場合には、オブジェクトにセル番地のみを指定しているということがおおいです。複数のシートやブックを扱う場合には、必ずこの階層構造を意識してコードを書きましょう

\ VBA試験の詳しい情報を受け取る /

VBAに関する資料をダウンロード

VBAにおける「プロパティ」とは?

プロパティとはセルなどのオブジェクトが持っている属性(情報)です。以下の図を見てみましょう。

Valueプロパティでセルの値を「取得」する

「取得」とはその情報にフォーカスするというイメージを持つと分かりやすいです。つまり、セルの値を取得するとは、セルの値にフォーカスするということです。上の図を例にC1の値を取得するコードは、以下のいずれかを記述します。

Range(“C1”).Value

Cells(1,3).Value

これでセルC1の値を取得することができました。見ての通り、値を表すプロパティはValueです。
セルを表すときには先頭にRangeプロパティをつけて、(“”)内に取得したいセル番地を記述するか、Cellsプロパティをつけて()内に行番号、列番号を記述します。列番号は、Aが1、Bが2、Cが3というように数値化します。

メッセージボックスを表示するMsgbox関数を先頭に付けて「2」が表示されるか試してみましょう。

Msgbox Range(“C1”).Value

Msgbox Cells(1,3).Value

取得したセルに値を代入する

Range(“C1”).Value

Cells(1,3).Value

で値は取得できますが、このままだとエラーが出て実行ができません。VBAは記述したコードを1行ずつ実行していきますが、基本的には以下いずれかの構文で記述する必要があります。(Msgbox関数は例外と今は思っておきましょう)

1)オブジェクト.プロパティ = 値

2)オブジェクト.メソッド

パソコン教室ISAの体験授業を受けてみる

取得したセルの値プロパティに任意の数字を入れてみましょう。

Range(“D1”).Value = 10

Cells(1,4).Value = 10

文字列を代入する場合には、前後を””で囲みます。

Range(“E1”).Value = “ISA”

Cells(1,5).Value = “ISA”

結果が出たことを確認してみてください。

Valueプロパティは省略可能

セルオブジェクトの既定のプロパティはValueなので省略しても同様の結果になります。つまり、上のコードを例にすると

Range(“E1”) = “ISA”

Cells(1,5)= “ISA”

でも同じ意味、結果となります。省略することでコードがすっきりするメリットがあるので、
基本的には省略してしまって構いません。ただし、チームで開発するときなどに人によって省略ルールが異なってValueプロパティがあったりなかったりすると逆に読みにくくなってしまう場合もあるので、統一するようにしてくださいね。

パソコン教室ISAの資料を取り寄せる(無料)

まとめ

Valueプロパティは書き始めてしまえば、意識せずとも使えるようになります。しかし、階層構造を意識するなど、VBAの基本は体系的に学習しないとどこかで行き詰ることも多いです。体系的に学習をしたい場合は、パソコン教室や通信講座で学ぶのがおすすめです。
中でも、40年近い教室運営の実績を有するISAパソコン教室は、豊富な種類のVBA取得コースを提供しています。講師をすべて社員として教育の質を担保するなどの取り組みにより、日本マイクロソフトが1年に1社を選ぶLeaning Awardを10年間で3度受賞しています。効率的かつ質の高い学びの場を求める方は、下記の資料をご確認ください。

ABOUT ME
石井麻美
パソコン教室ISA講師の講師です。 主にOffice系(Word Excel Access PowerPoint)やVBAの授業を担当しています。 Microsoft Office Specialist VBAスタンダードクラウン 資格取得済
\ VBAの情報を手に入れよう/
関連するお役立ち資料
MOS試験に関する資料
MOS試験の概要や取得するメリット、受験科目の選び方や勉強方法を解説 ダウンロード
VBAに関する資料
VBAとはどういうものか?VBAの基本情報からできること、できないことを解説 ダウンロード
お気軽にご相談ください

パソコンに関する技術や、資格取得のご相談など、お気軽にお問い合わせください