1

我有一个函数可以确定要突出显示的 Excel 行。但我只想一次突出显示一行。因此,当再次调用该函数时,我希望它删除前一行的突出显示(即,将其突出显示为白色),并突出显示新行。

每次调用时,我都可以让该函数突出显示整个工作表。但我真的不想这样做,以防万一用户已经突出显示了其他行。

这是我正在调用的函数:

def highlightSol(self, id):        
    for row, cell in enumerate(self.xl.ActiveSheet.Range('A:A')):
        if id == cell:
            row = self.row + 1
            self.xl.ActiveSheet.Cells(row,1).EntireRow.Interior.Color = 1

这可以突出显示该行。但是我希望 row 的值以某种方式保持不变,以便当再次调用此函数时,我可以取消突出显示该行(或者,从技术上讲,将其突出显示另一种颜色)。

这可能很容易,但由于某种原因,我一直在思考解决方案。任何帮助将不胜感激。非常感谢!

4

1 回答 1

0

为最后一个突出显示的元素设置一个属性:self.highlightRow = row

您可以将属性设置为None您班级的__init__. 然后只需读取该属性并取消突出显示该行即可。

于 2013-08-22T00:25:07.393 回答