El formatting condicional de C # sobresale

En mi proyecto, tengo un código que formatea el color de background de la celda en function de una condición de valor de celda como esta:

//if value is 1 than colorIndex is 3; Excel.FormatCondition condition = colorRange.FormatConditions.Add( Type: Excel.XlFormatConditionType.xlTextString, Operator: Excel.XlFormatConditionOperator.xlEqual, Formula1: "=1"); condition5.Interior.ColorIndex = 3; 

Esta condición funciona bien, pero la condición en el siguiente código no funciona:

 //if value is Red Color than colorIndex is 3; Excel.FormatCondition condition = colorRange.FormatConditions.Add( Type: Excel.XlFormatConditionType.xlTextString, Operator: Excel.XlFormatConditionOperator.xlEqual, Formula1: "=Red Color"); condition5.Interior.ColorIndex = 3; 

El post de error que recibo es "Parámetro incorrecto"

¿Qué estoy haciendo mal?

Creo que los errores provienen del hecho de que el parámetro de Formula1 que está pasando es una fórmula. Esto significa que debe escribirse como las fórmulas que escribe manualmente en las celdas de Excel. Esto significa que cuando escribe "Color rojo" como su parámetro, Excel intenta convertirlo a una Fórmula, pero la syntax es incorrecta y le da el error.

Puede intentar poner simplemente "= Rojo" (sin la parte de color de la cadena), y no le daría un error, pero no funcionaría de todos modos, porque compararía el valor en su celda con el que está contenido en la celda llamada Rojo (y supongo que no tiene esa celda en su hoja de trabajo).

La solución es poner "alnetworkingedor de ti cadena de esta manera:

 Excel.FormatCondition condition = colorRange.FormatConditions.Add( Type: Excel.XlFormatConditionType.xlTextString, Operator: Excel.XlFormatConditionOperator.xlEqual, Formula1: "=\"Red Color\""); 

Puedes probar esto. Este código me proporciona una solución

  Excel.FormatCondition condition = colorRange.FormatConditions.Add( XlFormatConditionType.xlCellValue, XlFormatConditionOperator.xlEqual, "=\"Red Color\"", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);