【发布时间】:2012-07-14 19:23:22
【问题描述】:
有没有办法使用 VBA 刷新单元格条件格式?
问题: 我的情况是,我有一个单元格 (A1) 引用另一个单元格 (B1),其中包含格式为“数字,小数点后 2 位”的 =SUM() 数值,但单元格 (A1) 具有条件格式在“单元格值> = 1000”上,并且我正在应用自定义格式,否则它使用欧元的货币格式。
我使用 VBA 更新值,然后执行
Application.CalculateFull
它会更新我的公式,但这种条件格式只会在值第一次超过 1000 时应用...如果它小于 1000,它不会回到原来的格式。
任何人以前遇到过这个问题并且知道如何更新条件格式?没有使用 VBA 来选择单元格并刷新它吗?
【问题讨论】:
-
即使 VBA 正在更改值,条件格式仍应适用。请在即时窗口中尝试
?Application.enableevents = true(在VBE 中执行Ctl+G 时)...它是否返回false? -
我尝试了您的建议,它返回 True。该单元格正在引用另一个单元格,其中包含一个公式。条件格式会在值更改并超过 1000 时更新,就像我提到的那样,但是当它低于 1000 时,格式不会返回。
-
我还尝试在条件格式上将 StopIfTrue 设置为 false 以防万一,但它没有......甚至找不到该属性应该做什么的良好参考。跨度>
-
我怀疑您已经尝试过了,但我会选择工作表中的所有单元格并删除所有现有的条件格式。然后我会重新应用格式 - 如果您有 5 或 6 个条件,有时会很痛苦,但可能值得一试。您可以截屏,然后使用画图将图片添加到条件格式窗口的原始帖子中吗?
-
@Pricey,您能否检查一下您的工作表是否设置了 EnableFormatConditionsCalculation 属性?我只是有一个类似(不完全相同)的问题,条件格式不刷新;它是由该属性设置为 False 引起的。
标签: excel conditional-formatting vba