条件付き書式グループ「非空白+区切線」の解説
- yuji fukami
- 10月22日
- 読了時間: 3分
概要
書籍「Excel VBA開発を超効率化するプログラミングテクニック」の特典であるIkiKaiso2.xlamのリボン登録マクロの解説のための特設ページです。
出版社の書籍のページ⇒https://gihyo.jp/book/2024/978-4-297-14023-6
リボン登録マクロ全体解説ページ⇒https://www.softex-celware.com/post/ikikaiso2
本ページではIkiKaiso2.xlamの「条件付き書式」グループの「非空白+区切線」ボタンの使い方を解説します。

解説
用途
表に値が入っていると自動的に罫線を設定するような条件付き書式を自動設定する
使い方
実際に使っている様子の動画を下記でご確認ください。
手順は次の通りです。
①:条件付き書式を設定したい表の表全体+シート内の一番下までを選択する
②:「非表示+区切り線」ボタンをクリック
③:①で選択したセル範囲が確認表示される。変更がある場合はこの段階で選択しなおす。
④:条件付き書式が自動設定される
上記のような自動的に区切り線がつく条件付き書式は、ユーザーにとって見やすい表を作る上で非常に有効的です。
B列を同じ値でセル結合したりする方法ありますが、セル結合を施すと並び替えが出来なかったり、新しい情報の追加がやりづらかったり、集計など二次利用がしにくかったりなど多くのデメリットがあります。区切り線を利用することでセル結合に頼らず見やすい表にすることが可能です。
設定している条件付き書式について解説
「非空白+区切線」で自動設定している条件付き書式は次の2つです。
条件付き書式①:B列が非空白 ⇒ 数式「=$B3<>""」、書式「左端、右端に罫線」
条件付き書式②:B列で1つ下のセルと値が異なる ⇒ 数式「=$B3<>OFFSET($B3,1,0)」、書式「下に罫線」

2つの条件付き書式の②の数式は「1つ下のセルと値が異なる」なので「=$B3<>$B4」でもよいと思われるかもしれません。
しかし、この数式だと大きな問題が発生します。
具体的に、行の消去、挿入を行うと条件付き書式が破壊されてしまいます。
実際にやってみましょう。
下記図のように数式を「=$B3<>$B4」に変更してみます。

試しに8行目を行ごと消去してみます。
すると、途中の区切り罫線が設定されなくなります。この時点で条件付き書式がおかしくなっているのが伺えます。

実際に消去した行の1つ上のB7セルの条件付き書式を見てみると、下記図のように数式の参照先のセルが「#REF!」となっていて、条件付き書式が破壊されているのが確認できます。

このように破壊された条件付き書式は復旧するのが手間だったりします。
同様に行の挿入でも条件付き書式は破壊されます。
「非空白+区切線」で設定している条件付き書式はOFFSET関数を利用することで上記のような「行消去、挿入」に影響を受けないようにしてあります。


コメント