PR

 前回は記録されたマクロの基本構成をお伝えしました。今回は、前回記録したマクロが実際に表中の担当者名を取り出すという処理を行っている命令文について、もう少し詳しくみていくことで、VBAという言語の基本的な特徴を理解しましょう(図1)。

7-1.jpg
図1 記録されたマクロ。実際に処理を行っているのは!)と!)の2つのコード

基本その1「対象物を選んで操作する」

 日本語でも英語でも、他の人とコミュニケーションをとるための言語には、文法という言語独自の決まりごとがあります。文法に加えて、操れる単語や慣用表現の多さが、言語習得の大きな鍵となります。Excel VBAを習得する基本も、人間同士でやりとりする言語の場合と同じです。

 マクロを記述する言語、Excel VBAにはさまざまな文法=決まりごとがありますが、もっとも基本となるのが「オブジェクト」を「操作する」という考え方です。

 「オブジェクト」などという日常生活で使わない横文字が出てくると、それだけで難しそうな雰囲気が漂ってしまいますが、ちょっと視点を変えて次のような例でオブジェクトについて考えてみましょう。

 あなたの目の前に、3人のお手伝いロボットがいます。それぞれに特徴があり処理できる内容も異なるのですが、緑の「Robot_G」は歌うことのできるロボットです。歌を聴きたいと思ったあなたは、まず3人のロボットの中から「Robot_G」を選びます(図2)。

7-2.jpg図2 例えば3台のロボットの中から使いたいロボットを選び出すとする

 この操作をExcel VBAの文法にのっとって記述すると次のようになります。
7-01.jpg
 どのロボットを選び出すか、対象となるロボットは3台あります。今回はRobot_Gを選択したのですが、このロボットのように選択対象となるものを「オブジェクト」と呼びます。Excel VBAではオブジェクトに対して命令を出す場合にはオブジェクトの後ろに「.」(ピリオド)を記述し、その後に命令を記述します。このような命令を、「メソッド」と呼びます。