Excel VBAの使い方/マクロ・VBA

より汎用的な罫線マクロを作成しよう(2ページ目)

「セルの罫線を引くマクロを読み解いてみよう」で作成した「罫線を引く操作」のマクロを「スリム」で「汎用的」なマクロに編集します。少々手の込んだセル参照なども体験できます。

緑川 吉行

執筆者:緑川 吉行

エクセル(Excel)の使い方ガイド


どのセル範囲にも設定できる汎用的なマクロに編集しよう


さて。現状では、セル範囲A2~D7にだけ罫線を設定するマクロになっています。これを、任意のセル範囲に対して利用できるマクロに修正するにはどうすればよいでしょうか?


簡単なのは、セル範囲A2~D7を選択している「Range("A2:D7").Select」を削除してしまうことです。罫線を設定したいセル範囲を事前に選択してからマクロを実行することで、Selectionプロパティは「選択されているセル範囲」を参照します。セル範囲を選択する手間が増えてしまいますが、これなら、任意のセル範囲に対してマクロを利用することができそうですね。


選択範囲内の特定のセル範囲を参照するには

ところが、1点問題があります。「表の見出し」に対する処理部分です。ここでも、特定のセル範囲を選択する「Range("A2:D2").Select」が記述されているのです。しかし、選択したいのは、現在選択されているセル範囲の1行目ですね。


そこで、「Range("A2:D2").Select」を「選択範囲内」の1行目を選択するステートメントに書き換えます。このステートメントのポイントは、現在の選択範囲を参照しているSelectionプロパティに対して、行全体を参照するRowsプロパティを使用している点です。このステートメントにより、現在の選択範囲の1行目全体が選択されて、表の見出しの書式が設定されます。


これで、事前に選択した任意のセル範囲に対して罫線を設定する、汎用的なマクロに編集できました。試しに、別なセル範囲にデータを入力して、マクロを実行してみましょう。


>さらにひと工夫して、より便利なマクロに編集してみます。次ページへどうぞ!
  • 前のページへ
  • 1
  • 2
  • 3
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます