PR

 本連載の第7回「VBAの基本『オブジェクト』とは」では、セルやシートなどの操作対象となるものを「オブジェクト」と呼び、オブジェクトを移動したり・削除したりといった命令を「メソッド」と呼ぶというお話をしました。メソッドを使うときの基本は次のような構文でしたね。

 オブジェクト.メソッド 引数

 Excel VBAの基本を理解するうえで、オブジェクトやメソッドのほかに、もう一つ欠かせない概念があります。それが「プロパティ」です。また日常生活にはあまり登場しない横文字が出てきましたね。でも、いまのところ、言葉そのものについて気にしていただかなくてけっこうです。

 任意のセルに値を代入する、あるいはシートの名前を参照して、別の処理に利用する……そんな処理を行いたいときに必要になるのが「プロパティ」です。今回は実際にマクロの中に登場するコードを題材に、プロパティとはどういうものか、どんな風にしてプログラムの中で利用するのかという点を解説していきたいと思います。なお、マクロ全体のコードは、本連載の記事末に掲載してありますので参考にしてください。

目次作成マクロのコードを再確認する

 前回はWorksheetsとWorksheetの違いを解説しましたが、それを踏まえ、改めてマクロの前半部分を見ていきましょう。最初に「i」という変数を整数型で宣言しています。

Dim i As Integer

 一般に、変数にはどんな内容のものを代入するかがわかるような名前をつけるのですが、Excel VBAでは以前からある古いプログラム言語の名残で、「i」や「j」といった英数字1文字の変数が使われることがあります。これは特別にカウンタ変数とも呼ばれていて、後日紹介する繰り返し処理の中で、値が次々と増加(または減少)していくときに利用される変数です。

 次に、新しいシートを追加し、シートの左端、つまり先頭に配置するのが以下のコードです。

Worksheets.Add before:=Worksheets(1) 

 ここまでのコードを実行すると、ブックの先頭に新規シートが追加され、そのシートがアクティブになっている状態となります。この新規シートは目次用として利用しますので、まずは、A1セルに見出しとなる文字列を入力しなければなりません(図1)。

15-1.jpg
図1 目次用に新規に追加したシートのA1セルに、目次の見出しとなる文字列をプログラムからセットする