【发布时间】:2013-10-19 01:13:34
【问题描述】:
我需要一些帮助,该函数可以根据单元格的值是否等于另一个单元格的值来更改单元格的颜色,当前单元格包含 =COUNT(##:##) 并且我如果该值等于另一个单元格中的值,则需要将颜色从红色更改为绿色。
由于我对 VBA 和 excel 的了解有限,我想出了这个
Function ChangeColor(CellColor As Range)
Application.Volatile True
If CellColor = cell.Value Then ChangeColor = cell.Interior.ColorIndex = 14
End Function
如果可能的话,我宁愿不使用条件格式,但如果需要,我愿意将其作为最后的手段。感谢您的所有帮助以及帮助我解决以前的问题,这个社区很棒。
【问题讨论】:
-
从工作表调用的函数无法对工作表进行任何更改,因此您只能使用条件格式或处理 worksheet_calculate 事件。
-
如果您确实在 worksheet_calculate 或其他方式中做到了这一点,那么每次运行它都会清除您的撤消历史记录。由于您要标记此 Volatile,因此您几乎可以在没有撤消堆栈的情况下工作。
-
它只是一个单元格吗?或特定位置的多个单元格(如“总计”列)?因为您可以使用 worksheet_change 事件来监视对这些特定单元格的更改。不过,这听起来确实像是条件格式的工作。