基于公式计算值设置Excel工作表标签颜色的VBA问题
公式计算单元格触发工作表标签变色的解决方案
B3单元格通过公式=IF(SUM(B6:B8)=0,"Complete","Open")生成结果,原有的Worksheet_Change事件仅对手动编辑单元格的操作生效,无法捕获公式计算导致的B3值变化,因此需要改用Worksheet_Calculate事件来实现需求。
替换原有代码为以下内容即可:
Private Sub Worksheet_Calculate() Select Case Me.Range("B3").Value Case "Open" Me.Tab.Color = vbYellow Case "Complete" Me.Tab.Color = vbGreen Case Else Me.Tab.Color = vbBlue End Select End Sub
说明:
Worksheet_Calculate事件会在工作表每次完成计算后自动触发,只要B6:B8的值发生变化导致B3公式重新计算,就会立即更新工作表标签颜色。- 无需指定目标单元格地址,直接读取B3的当前值进行判断即可。
内容的提问来源于stack exchange,提问作者Edward
相关产品推荐
相关产品推荐

