VBA Tipsと言いながら,VBA不要のネタです。
学校の出席簿を電子化する際に考えた,月末の31日がない日を赤線で消す機能の実装方法です。条件付き書式には取り消し線に色をつける機能はありません。そこで,「リンクされた図」の貼り付けと,リンク先に数式を使った名前を使い,セルの上に条件付きで図を表示することで赤い取り消し線を実現します。下の動画は,赤い取り消し線とセルに半透明の〇や×を重ねた例です。
上の動画に用いたExcelファイル
【方法】
1 セルの上に重ねる画像を別のセルに作っておきます。図形でも画像でも斜め罫線でも何でもかまいません。ただし,セルの塗りつぶしの色は「塗りつぶしなし」にしておく必要があります。また,「表示」-「枠線」のチェックを外し,セルの枠線を消しておきます。
2 重ねる画像のセルを「コピー」し,図を重ねたいセルに「リンクされた図」で貼付けます。
3 「数式」-「名前の定義」で下のように名前を定義します。
名前:適当な名前
参照範囲:=IF(条件の式,条件が成り立つときに表示するセル範囲,条件が成り立たないときに表示するセル範囲)
例:=IF(Sheet1!$D$5="成り立つ",Sheet1!$B$14:$B$14,Sheet1!$C$14:$C$14)
4 貼り付けられた,「リンクされた図」を選択し,数式バーに3で定義した名前を入力します。