我有一个由
评估的单元格 =IF(OR(J41="",J40=""),"",(1-($J$41/$J$40)))
计算用户输入的两个单元格之间的百分比误差。另外,我在一个单独的工作表上有一个IFC,它正在验证这个单元格以及其他单元格,如果百分比误差值高于/低于某个数字,则将其设置为某种颜色并带有警告。问题是单元格没有显示警告,除非我点击它并按Enter(或F2 + Enter),这将计算单元格并填充当时的值。当用户将值输入J41和J40时,有没有办法强制计算在该单元格中发生,从而立即填充警告?我已经检查了多个线程,有人说使用Application.Volatile语句,但是我不太确定它是否会起作用..
有什么建议吗?
答案 0 :(得分:0)
手动计算范围就像使用Range.Calculate
一样简单。
要在某个范围内更改值时运行代码,请使用Worksheet_Change
。
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngTrigger As Range: Set rngTrigger = Range("D5")
Dim rngTarget As Range: Set rngTarget = Range("E5")
If Not Intersect(Target, rngTrigger) Is Nothing Then _
rngTarget.Calculate
End Sub