如何使用Python在Excel中创建多个FormatConditions

2024-09-30 16:38:47 发布

您现在位置:Python中文网/ 问答频道 /正文

对于下面的代码,理论上,它应该为F到AA列范围内的每一个设置2个不同颜色的不同格式条件。不幸的是,一旦我运行了这个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 

Tags: columnsadd颜色count条件excelaawb
1条回答
网友
1楼 · 发布于 2024-09-30 16:38:47

发现了我的错误,我需要设置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 

相关问题 更多 >