单元格值的条件格式

时间:2017-11-24 09:36:06

标签: c# excel excel-interop

我目前正在尝试在Excel文档上设置条件格式。我目前正在使用互操作来处理文档。

该列包含时间/日期值,我正在尝试创建一个在15分钟内突出显示值的条件。

这是我到目前为止所做的。

range = xlWorksheet.get_Range("F2", "F" + RC);
Excel.FormatCondition condition = (Excel.FormatCondition)range.FormatConditions.Add(
        XlFormatConditionType.xlExpression, 
        Type.Missing,
        "> =0,0104166666666667",
        Type.Missing,
        Type.Missing,
        Type.Missing,
        Type.Missing,
        Type.Missing);

condition.Interior.ColorIndex = 3; // Red

范围选择正确的列,我认为问题是我没有建立正确的公式。

Conditional formatting in excel

当我在excel中执行此操作时,这就是condinonal格式。

What my formatting looks like

当我尝试使用我的应用程序复制它时,这就是我的公式。

   ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 3
    Range("F1:F11").Select
    Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, _
        Formula1:="=0,0104166666666667"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Font
        .Color = -16383844
        .TintAndShade = 0
    End With
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 13551615
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
End Sub

这是我在C#中尝试做的宏的等效。

1 个答案:

答案 0 :(得分:0)

Excel.FormatCondition condition = (Excel.FormatCondition)range.FormatConditions.Add(Excel.XlFormatConditionType.xlCellValue, Excel.XlFormatConditionOperator.xlGreater, "=0,0104166666666667", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

将公式条件更改为xlCellValue就可以了。