2007 Excel でこれをテストすることはできませんが、エラーは間違いなくFormatConditions.Font
オブジェクトにはありません。の割り当てでエラーが発生します.Font.Color
。
.Font
2007 年のオブジェクトの開発リファレンスを確認すると、RGB()
数式を使用して色を割り当てる必要があるようです。
http://msdn.microsoft.com/en-us/library/office/bb213182(v=office.12).aspx
ただし、私の Google-Fu は、割り当てで負の色の値を使用できないことを示しています。RBG
別の色を選択する必要があると思います。おそらくWinAPIを使用してこれを回避する方法がいくつかありますが、現時点ではそのアプローチをテストすることはできません.
私はあなたの に色相が似ている別の青を選びました-16752384
。
Sub test()
'## This section converts a long color to its R/G/B components
Dim col As Long: col = 15773696
Dim r As Long, g As Long, b As Long
r = col Mod 256
g = (col \ 256) Mod 256
b = (col \ 256 \ 256) Mod 256
'## Your code, with modification for the RGB Formula:
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
Formula1:="=""BREAK TOP"""
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Font
.Color = RGB(r, g, b) '<-- RGB Formula, here.
.TintAndShade = 0
End With
End Sub
アップデート
Selection
これを試してください。オブジェクトは使用しないでください。
Sub test2()
Dim rng as Range
Dim fc as FormatCondition
Set rng = Range(Selection.Address)
'## This section converts a long color to its R/G/B components
Dim col As Long: col = 15773696
Dim r As Long, g As Long, b As Long
r = col Mod 256
g = (col \ 256) Mod 256
b = (col \ 256 \ 256) Mod 256
'## Your code, with modification for the RGB Formula:
rng.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
Formula1:="=""BREAK TOP"""
rng.FormatConditions(rng.FormatConditions.Count).SetFirstPriority
Set fc = rng.FormatConditions(1)
fc.Font.Color = RGB(r, g, b) '<-- RGB Formula, here.
fc.Font.TintAndShade = 0
End Sub