どのセル範囲にも設定できる汎用的なマクロに編集しよう
さて。現状では、セル範囲A2~D7にだけ罫線を設定するマクロになっています。これを、任意のセル範囲に対して利用できるマクロに修正するにはどうすればよいでしょうか?
簡単なのは、セル範囲A2~D7を選択している「Range("A2:D7").Select」を削除してしまうことです。罫線を設定したいセル範囲を事前に選択してからマクロを実行することで、Selectionプロパティは「選択されているセル範囲」を参照します。セル範囲を選択する手間が増えてしまいますが、これなら、任意のセル範囲に対してマクロを利用することができそうですね。
選択範囲内の特定のセル範囲を参照するには
ところが、1点問題があります。「表の見出し」に対する処理部分です。ここでも、特定のセル範囲を選択する「Range("A2:D2").Select」が記述されているのです。しかし、選択したいのは、現在選択されているセル範囲の1行目ですね。そこで、「Range("A2:D2").Select」を「選択範囲内」の1行目を選択するステートメントに書き換えます。このステートメントのポイントは、現在の選択範囲を参照しているSelectionプロパティに対して、行全体を参照するRowsプロパティを使用している点です。このステートメントにより、現在の選択範囲の1行目全体が選択されて、表の見出しの書式が設定されます。
これで、事前に選択した任意のセル範囲に対して罫線を設定する、汎用的なマクロに編集できました。試しに、別なセル範囲にデータを入力して、マクロを実行してみましょう。
>さらにひと工夫して、より便利なマクロに編集してみます。次ページへどうぞ!