在更新单元格之后,条件格式似乎不适用

有没有办法使用VBA刷新单元格条件格式?

问题:我有一个单元格(A1)引用另一个单元格(B1),其中包含= number(SUM)()数值,格式为“number,2个小数位”,但单元格(A1)条件格式化的“单元格值> = 1000”,我正在应用自定义格式,否则它使用欧元的货币格式。

我使用VBA更新值,然后执行

Application.CalculateFull 

这更新了我的公式,但是这个条件格式只在第一次超过1000时才得到应用…如果它小于1000,它不会回到原来的格式。

任何人之前有这个问题,并知道如何更新条件格式? 使用VBAselect单元格并刷新它一些如何?

我已经决定select单元格,重新申请公式,然后激活它,每次VBA已经完成运行,下面解决了我现在的问题..它只是一个令人遗憾的如此手动。

 Range("A1").Formula = "=B1" Range("A1").Select Range("A1").Activate 

你也可以试试这个:

 Sub refreshScreen() Application.Parent.Visible = False Application.Parent.Visible = True End Sub 

这似乎是一个错误(或不一致),适用于条件格式的NumberFormat属性如果使用自定义格式。 条件格式将应用一个自定义的NumberFormat,但不会恢复到默认值不再为true时。 使用VBA应用条件格式时,只能使用字体/背景颜色,但在应用自定义NumberFormat时将不再按预期方式运行。 我通过为true和falsescheme创build两个条件格式来解决这个问题。

条件为真时隐藏文字

 .NumberFormat = ";;;" 

当条件为假时显示文本

 .NumberFormat = "General" 

以下设置,但对行为没有影响:

  • EnableFormatConditionsCalculation设置为True
  • EnableEvents设置为True
  • 计算设置为自动

这是一个链接,让我朝着正确的方向发展:

http://www.mrexcel.com/forum/excel-questions/735479-conditional-formatting-not-updating.html