条件付き書式で、訂正線が引かれたセルを塗りつぶす
条件付き書式で、訂正線が引かれたセルを塗りつぶしたい。さて、どうしよう。
先日、職場で教わったのは、こんなやり方。
ユーザー定義関数を作成
まず、確認したいセルを引数として、訂正線が引かれている(True)か否(False)かを戻り値とするユーザー定義関数を作成する。
Function 訂正線有無(target_range As Range) As Boolean 訂正線有無 = target_range.Font.Strikethrough End Function
条件付き書式を設定
以下、3つの「うどん」セルに、条件付き書式を設定する。
結果、文字が全て訂正線を引かれたセルのみ、塗りつぶしが発動した。
一文字でも訂正線が含まれたら、容赦なく塗りつぶしたい。そんな場合は、ユーザー定義関数側を修正する。
Function 訂正線有無(target_range As Range) As Boolean Dim i As Long For i = 1 To Len(target_range.Value) If target_range.Characters(i, 1).Font.Strikethrough = True Then 訂正線有無 = True Exit Function End If Next End Function
↓ 結果 ↓
今までだったら、Worksheet_Changeイベントで検知するぐらいしか思いつけなかった。なるほど、面白い!
参考まで。