Reputation: 327
With the following code, in theory, it should set 2 different formatconditions with different colors for each one in the range of F through AA columns. Unfortunetly once I run this Python script, excel only gets the information for the first condition, where the 2nd condition is in excel but missing the color fill. Any advice?
formula1 = "=95"
formula2 = "=100"
wb.ActiveSheet.Columns("F:AA").FormatConditions.Add(win32c.xlCellValue , win32c.xlBetween , formula1,formula2)
#wb.ActiveSheet.Columns("F:AA").FormatConditions(excel.Selection.FormatConditions.Count).SetFirstPriority()
wb.ActiveSheet.Columns("F:AA").FormatConditions(1).Font.Bold = True
wb.ActiveSheet.Columns("F:AA").FormatConditions(1).Interior.Color = 8420607
wb.ActiveSheet.Columns("F:AA").FormatConditions(1).StopIfTrue = False
wb.ActiveSheet.Columns("F:AA").FormatConditions.Add(win32c.xlCellValue , win32c.xlGreaterEqual , formula2)
#wb.ActiveSheet.Columns("F:AA").FormatConditions(excel.Selection.FormatConditions.Count).SetFirstPriority()
wb.ActiveSheet.Columns("F:AA").FormatConditions(1).Font.Bold = True
wb.ActiveSheet.Columns("F:AA").FormatConditions(1).Interior.Color = 10092543
wb.ActiveSheet.Columns("F:AA").FormatConditions(1).StopIfTrue = False
Upvotes: 0
Views: 2421
Reputation: 327
Found my mistake I needed to set the index of FormatConditions:
formula1 = "=95"
formula2 = "=100"
wb.ActiveSheet.Columns("F:AA").FormatConditions.Add(win32c.xlCellValue , win32c.xlBetween , formula1,formula2)
#wb.ActiveSheet.Columns("F:AA").FormatConditions(excel.Selection.FormatConditions.Count).SetFirstPriority()
wb.ActiveSheet.Columns("F:AA").FormatConditions(1).Font.Bold = True
wb.ActiveSheet.Columns("F:AA").FormatConditions(1).Interior.Color = 8420607
wb.ActiveSheet.Columns("F:AA").FormatConditions(1).StopIfTrue = False
wb.ActiveSheet.Columns("F:AA").FormatConditions.Add(win32c.xlCellValue , win32c.xlGreaterEqual , formula2)
#wb.ActiveSheet.Columns("F:AA").FormatConditions(excel.Selection.FormatConditions.Count).SetFirstPriority()
wb.ActiveSheet.Columns("F:AA").FormatConditions(2).Font.Bold = True
wb.ActiveSheet.Columns("F:AA").FormatConditions(2).Interior.Color = 10092543
wb.ActiveSheet.Columns("F:AA").FormatConditions(2).StopIfTrue = False
Upvotes: 1