如何在Python中创建Excel的多个格式条件
这段代码理论上应该为F到AA列的每个单元格设置两种不同的格式条件,并且每种条件用不同的颜色来表示。但是,当我运行这个Python脚本时,Excel只接收到第一个条件的信息,第二个条件虽然在Excel中存在,但颜色填充却没有显示。有什么建议吗?
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
1 个回答
1
我找到了我的错误,我需要设置格式条件的索引:
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