我正在尝试根据其中一列中给出的结果为电子表格着色。我正在使用以下代码:
With newSheet.Range("B:B")
.FormatConditions.Add(Excel.XlFormatConditionType.xlCellValue, Excel.XlFormatConditionOperator.xlEqual, "CORRECT")
.FormatConditions(1).Interior.ColorIndex = 4
.FormatConditions.Add(Excel.XlFormatConditionType.xlCellValue, Excel.XlFormatConditionOperator.xlEqual, "INCORRECT")
.FormatConditions(2).Interior.ColorIndex = 3
End With
不幸的是,这只会给包含“正确”或“错误”的单元格着色。我希望它扩展到它们所在的行(例如,如果 B12 包含“正确”,我希望 A12:G12 全部为绿色)。有人建议我尝试使用表达式,所以我尝试了以下代码:
.FormatConditions.Add(Type:=XlFormatConditionType.xlExpression, Formula1:="=B" & row & "= ""CORRECT"")")
.FormatConditions(1).Interior.ColorIndex = 4
但是,这会返回 E_INVALIDARG 异常。我将不胜感激有关如何解决此问题的任何提示。我还应该注意,循环遍历每一行并一次检查一个并不是真正的选择,因为有数千行。