[[20200821220521]] 『条件付き書式設定の自動拡張』(たく) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『条件付き書式設定の自動拡張』(たく)

条件付き書式の範囲をデータが増えるたび自動で拡張させる方法はテーブル機能を使うしかないでしょうか?
条件付き書式の適用先をoffset(A1,0,0,counta(A:A),counta(1:1))としてみましたが、普通の範囲に戻ってしまいます。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


3×3の大きさ(つまり、A1:C3)に同じ条件を設定すれば、
隣接セルに入力したときに自動拡張されます。

少し試してみましたが、数式で指定するような、細かな設定をしたい場合には、
VBAに頼るしかないかと思います。

VBAでは、Range.FormatConditions.Addを使うようですが、
具体的な条件付き書式の内容がわからないと、コードは書きづらいです……。
例えば、「値が10のとき太字にする」という条件付き書式なら、
該当のシートモジュールに

 '
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rng As Range

    With Application.WorksheetFunction
        If .CountA(Range("$A:$A")) = 0 Or .CountA(Range("$1:$1")) = 0 Then
            Exit Sub
        End If
        Set rng = Range("A1").Resize(.CountA(Range("$A:$A")), .CountA(Range("$1:$1")))
    End With

    rng.FormatConditions.Delete

    rng.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=10"
    With rng.FormatConditions(1).Font
        .Bold = True
    End With
End Sub

これで達成できていると思います。
適宜、自分の使っている条件付き書式の内容に合わせて書き換えていただければ……。
(DS) 2020/08/22(土) 09:36


ありがとうございます。
A列の上下のセルの値が違えばセルの下部分に太線をa列からX列まで引き、空白になったら終わるような感じにしたいのですがどう変えたら良いでしょうか?
(たく) 2020/08/22(土) 11:29

最終的に達成したい内容を、もう少し詳細に教えてください。
具体的にどういうシートを作りたいのかイメージできません。

マクロ記録して内容を確認することはできますか?
条件付き書式の設定は決まっていて、範囲拡張のところが問題なのであれば、
A1にその条件付き書式を設定する内容をマクロ記録して貼り付けてもらえれば、
先ほどの内容を書き換えます。

ただ、普通は条件付き書式を適切に設定すれば、
範囲拡張を気にする必要はなさそうな気がします……。
(DS) 2020/08/22(土) 12:55


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.