【发布时间】:2014-09-08 22:15:43
【问题描述】:
我有一个由
评估的单元格=IF(OR(J41="",J40=""),"",(1-($J$41/$J$40)))
计算用户输入的两个单元格之间的百分比误差。此外,我在单独的工作表上有一个 IFC,它正在验证此单元格以及其他单元格,如果百分比错误值高于/低于某个数字,则将其设置为某种颜色并发出警告。问题是单元格不会显示警告,除非我单击它并按 Enter(或 F2 + Enter),它会计算单元格并填充当时的值。当用户将值输入 J41 和 J40 时,是否有办法强制在该单元格中进行计算,从而立即填充警告?我已经检查了多个线程,有人说使用 Application.Volatile 语句,但我不太确定这是否可行..
有什么建议吗?
【问题讨论】:
-
抱歉,我创建的只是一个在后台运行 VBA 的接口表,它引用了我表单中的所有单元格并对它们设置了某些限制/验证,并在然后导出到要插入数据库的 1 行表的表单。它只是一个可以设置验证数据的接口。
-
如果您使用代码来完成所有这些工作,那么展示它是一个不错的主意。 ;)
-
同意@Rory - 你的描述缺乏足够的细节来确定你的验证是如何被触发的。您显示的公式应该会自动更新。
-
Application.Volatile True在您使用 UDF 时有效,是吗?见cpearson.com/excel/writingfunctionsinvba.aspx -
不,不是 UDF,它是在单元格本身中计算的。我想要做的就是使用其中的公式验证单元格中的计算。在我单击它并再次按 Enter 之前,该单元格不会进行验证。这怎么不够详细?当单元格中有公式时,它会显示结果,而不是将结果的值放入该单元格。我想要单元格中结果的值,以便数据验证立即获取它并说明它是否是正确的数字......有意义吗?
标签: validation excel excel-formula volatile vba