C#Excelmacros – 如何检查单元格值是否定的,并更改其字体颜色?

我需要检查单元格值是负值还是负值,如果是负值 – 将其字体颜色更改为红色。 这是我试图做到这一点,这是行不通的…

oRange2 = oWorksheet.get_Range("L14"); int value = oRange2.Value; if(value < 0) { oRange2.Font.ColorIndex = 3; } 

有什么build议么?

[Red][<0]General;General这样的自定义数字格式将为您执行此操作。 如果你不喜欢那种特殊的红色,那么[color9][<0]General;General提供了一个较暗的调色板。

 oWorksheet.get_Range("L14").NumberFormat = "[Red][<0]General;General"; //... or for the whole column oWorksheet.get_Range("L14").EntireColumn.NumberFormat = "[color9][<0]General;General"; // red with brackets oWorksheet.get_Range("L14").EntireColumn.NumberFormat = "[Red][<0](General);General_)" // red with minus sign oWorksheet.get_Range("L14").EntireColumn.NumberFormat = "[Red][<0]-General;General" 

我已经使用了General因为您没有提供任何示例数据,但可以轻松地replace某种固定或浮点十进制数掩码。

试试这个(也许你需要将值转换为int):

 if(wb.Worksheet("Worksheetname").Ranges("A1").value > 0) ws.Cells("A1").Style.Font.color = XLColor.Green; else ws.Cells("A1").Style.Font.color = XLColor.Red;