我有一个函数可以确定要突出显示的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的值保持某种程度,以便当再次调用此函数时,我可以不突出显示该行(或者,从技术上讲,突出显示另一种颜色)。
这可能很容易,但出于某种原因,我一直在考虑解决方案。任何帮助将不胜感激。非常感谢!
答案 0 :(得分:0)
为最后突出显示的元素设置属性:self.highlightRow = row
您可以在班级的None
中将属性设置为__init__
。然后只需要阅读该属性并取消突出显示该行。