セルに設定された条件付書式はRangeオブジェクトのFormatcondtionsプロパティ
から取得することができます。以下のサンプルではアクティブセルに設定して条
件1の設定をメッセージボックスに表示します。
※複数条件が設定されている場合には・・・
ActiveCell.FormatConditions.Count
のようにしてカウントし、ループ構造によって設定値を確かめる必要があります。
Sub GetFormatConditionSetting()
Dim MyType As String, MyOperator As String
Dim F1 As String, F2 As String
With ActiveCell.FormatConditions(1)
Select Case .Type
Case xlCellValue: MyType = "値"
Case xlExpression: MyType = "数式"
End Select
Select Case .Operator
Case xlBetween: MyOperator = "の間"
Case xlEqual: MyOperator = "と等しい"
Case xlGreater: MyOperator = "より大きい"
Case xlGreaterEqual: MyOperator = "以上"
Case xlLess: MyOperator = "より小さい"
Case xlLessEqual: MyOperator = "以下"
Case xlNotBetween: MyOperator = "の間以外"
Case xlNotEqual: MyOperator = "と等しくない"
End Select
'条件値が設定されていない場合のエラー回避
On Error Resume Next
F1 = .Formula1
F2 = .Formula2
On Error Goto 0
End With
MsgBox MyType & " : " & F1 & " : " & F2 & " : " & MyOperator
End Sub
また、FormatConditionオブジェクトに設定した書式(Font、Interior、Boarders)について
調べるときはそれぞれ個別にプロパティーの設定値を取得します。下の例ではアクティブセル
の条件1で設定され、条件に合致した場合にセル上で実現されるセル色を取得し、セルA1の
セル色として設定します。
Range("A1").Interior.ColorIndex = _
ActiveCell.FormatConditions(1).Interior.ColorIndex
|