web-dev-qa-db-ja.com

VBAを使用してセルの範囲に条件付き書式を適用する

「適用先」というタイトルの条件付き書式で列にアクセスし、独自の条件を入力する方法を知りたいです。参考のためにスクリーンショットを添付しました。

Applies To column

条件付き書式に構文を追加するための私のコードは、

With Selection
  .FormatConditions.Delete
  .FormatConditions.Add Type:=xlExpression, Formula1:="=" & c.Address & "=TRUE"
  .
  .
  .
End With

コードをそこに追加する必要があると思いますが、正しい構文が見つかりません。

更新:

このようにコードを更新しましたが、

With Range(Cells(c.Row, "B"), Cells(c.Row, "N"))
  .FormatConditions.Delete
  .FormatConditions.Add Type:=xlExpression, Formula1:="=" & c.Address
  .FormatConditions(1).Interior.ColorIndex = 15 'change for other color when ticked
End With

これは基本的に、チェックボックスを配置した場所に関連する特定の範囲の行を作成し、背景色を変更します。チェックボックスの位置はc.Addressで表されます。「c」には、チェックボックスを配置するために選択したセルの場所が含まれます。

9
winhung

このようなことをする必要があります(Range("A25")はまさにあなたが見つけようとしているものです):

With Range("A25")
        .FormatConditions.Delete
        .FormatConditions.Add Type:=xlExpression, _
            Formula1:="=" & c.Address 
        '.
        '.
        '.
End With

"=" & c.Address & "=TRUE"と記述する必要はありません。"=" & c.Addressのみを使用できます。

8
Dmitry Pavliv

「適用先」は、Withブロックが実行される選択に固有のものです。

5
teylyn