凡人も語りたい

VBAに関すことや日々考えている事柄について投稿しようと思っています。

Excel 「条件付き書式」を利用した外枠罫線・格子罫線設定の切り替え自動化

どうも、こんぺです。

今回は、先日登壇させていただいた VBA座談会にて誕生した条件付き書式の小技をまとめました。

登壇した座談会についてはこちら↓
yumeoi10nen.hatenadiary.com

外枠罫線と格子罫線の自動切換え

帳票を作るにあたり、最後見栄えを整えるときに「外枠を太線に変更」や「格子線を点線に変更」といった操作をする方、結構いるのではないでしょうか。
見栄えのために「複数の罫線を設定する」という作業は地味に面倒くさい作業だと思います。(私は面倒です…)

ですが、条件付き書式は「セルの高さが変わる書式変更はできない」仕様となっているとのこと…
そのため「条件に合わせて太線に変更する」という書式設定はできないのでした!
(座談会に参加するまで全く知りませんでした…)

しかし、使い方を工夫することで太い罫線を使いながら罫線を自動で切り替えできるようになります。

テクニックが活用できる条件

  1. 格子罫線とを外枠罫線を使い分ける判断をするの「キー列」の設定ができること
  2. 条件付き書式の設定範囲が大きくならないこと(小さくなる分には対応可)

留意事項

  • 条件付き書式の範囲や条件式によってはExcelファイルの処理が重くなる可能性があります

設定手順

1.使用を想定している罫線の種類のうち、最も太い線の種類で罫線を作る

Excel,条件付き書式,参照,罫線,変更

2.条件付き書式を適用するセル範囲を選択した状態で「条件付き書式」の「新しいルール」を選択する

Excel,条件付き書式,参照,罫線,変更

3.「数式を使用して、書式設定するセルを決定」を選択し、数式バーに条件式を入力する

例では、「前後の支店名が同じ場合」が条件であるため、「=$(キー列番号)(先頭行番号)=$(キー列番号)(次の行番号)」(画像では=$A3=$A4)と入力
Excel,条件付き書式,参照,罫線,変更

4.「書式」ボタンをクリックし、「罫線」タブで格子罫線の種類と罫線を適用する辺を選択する

例では「条件に該当するセルの下部罫線を点線に変更」するため、画像のような書式を設定
Excel,条件付き書式,参照,罫線,変更

5.「OK」ボタンを2回クリックし、条件付き書式を適用する

Excel,条件付き書式,参照,罫線,変更
このように、支店名を変更する(厳密にはA列の上下のセルで違う文字列になる)ことで罫線が自動で変更されるようになります。

最後に

今回のテクニックは、 VBAで罫線を引く条件を書く段階に差し掛かったときに
→ 参加者A「条件付き書式で解消できるのでは?」
→ 参加者B「そういえば条件付き書式はセルの高さが変わる書式設定を指定できない!」
→ 参加者C「条件付き書式で罫線を太くできないけど、細くはできるんじゃない?」
できた
という会話の中で生まれたテクニックです。

三人寄れば文殊の知恵、座談会パワーが存分に発揮された結果だと思います。
次回の座談会でも、もしかしたらこれ以上の便利テクニックが生まれるかも…
ということで次回以降のスケジュールも決まっております↓
note.com

気になる方はぜひご参加してみてください!