如果该值与另一列中的值不同,则需要为单元格的文本应用颜色。最好的方法是什么?我能想到的方法是非常昂贵的。
for (int i = 0; i < ColumnARange.Cells.Count; i++)
{
if (ColumnARange.Cells[i, 1] != ColumnBRange.Cells[i, 1])
{
Range currCell = ColumnBRange.Cells[i, 1];
currCell.Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red);
}
}
尝试了以下条件格式,但徒劳无功。
FormatCondition cond = ColumnBRange.FormatConditions.Add(XlFormatConditionType.xlCellValue, XlFormatConditionOperator.xlNotEqual, ColumnARange);
cond.Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red);
我正在使用VSTO,C#
最佳答案
下面的代码向D1到E10的单元格范围添加条件格式
它分别比较值D1 = E1或D2 = E2。您可以设置字体颜色,或在FormatCondition对象上填充颜色。
FormatCondition format =(FormatCondition)( targetSheet.get_Range("D1:E10",
Type.Missing).FormatConditions.Add(XlFormatConditionType.xlExpression,
XlFormatConditionOperator.xlEqual,
"=$D1=$E1",
Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing));
format.Font.Bold = true;
format.Font.Color = 0x000000FF;
关于c# - 使用C#在Excel中进行条件格式设置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10240132/