J'ai ajouté une condition de format sur une plage avec une mise en forme en utilisant le code ci-dessous.Modification dynamique de la plage de formatCondition
Microsoft.Office.Interop.Excel.FormatCondition formatConditionObj = null;
formatConditionObj = (Microsoft.Office.Interop.Excel.FormatCondition)myRange
.FormatConditions.Add(Excel.XlFormatConditionType.xlExpression,
Type.Missing, true, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing);
formatConditionObj.Interior.ColorIndex = 5;
Maintenant, ma gamme change dynamically
.Je souhaite que l'utilisation du même objet FormatCondition je change juste la plage où ces formats sont appliqués. Par exemple à la première instance, il pourrait être juste "$A$1"
plus tard, il pourrait être "$A$2,$D$5"
ou "$A$3:$A$20"
.
Cela peut être fait en utilisant Excel directement. Formatage conditionnel -> Gérer les règles -> S'applique à (Modifier ceci). Comment cela peut-il être réalisé en utilisant C#.
Merci remou son travail :) –
en utilisant ModifyAppliesToRange donne une exception lorsque vous essayez d'accéder à la formule (Formule1) de formatConditionObj après l'application myNewRange sur formatConditionObj. Pourquoi ce comportement? –
Vous voudrez peut-être poser cette question avec des détails supplémentaires, car je ne sais pas trop ce que vous voulez dire. – Fionnuala