1

VBAを使用してセルの条件付き書式を更新する方法はありますか?

問題:別のセル(B1)を参照するセル(A1)があり、「数値、小数点以下2桁」の形式の= SUM()数値が含まれていますが、セル(A1)には「セル値>=1000」の条件付き書式設定で、カスタム形式を適用しています。それ以外の場合は、ユーロの通貨形式を使用します。

VBAを使用して値を更新してから、

Application.CalculateFull

これは数式を更新しますが、この条件付き形式は、値が1000を超えたときに初めて適用されます... 1000未満の場合、元の形式には戻りません。

以前にこの問題が発生し、条件付き書式を更新する方法を知っている人はいますか?VBAを使用してセルを選択し、それを何らかの方法で更新する以外に?

4

3 に答える 3

1

セルを選択し、数式を再適用して、VBAの実行が終了するたびにアクティブ化することにしました。以下は、今のところ私の問題を修正します。

Range("A1").Formula = "=B1"
Range("A1").Select
Range("A1").Activate
于 2012-07-15T15:51:05.420 に答える
1

これを試すこともできます:

Sub refreshScreen()
  Application.Parent.Visible = False
  Application.Parent.Visible = True
End Sub
于 2013-07-24T12:55:50.090 に答える
0

これは、カスタム書式を使用している場合に条件付き書式のNumberFormatプロパティに適用されるバグ(または不整合)のようです。条件付き書式はカスタムNumberFormatを適用しますが、trueでなくなってもデフォルトに戻りません。VBAを使用して条件付き書式を適用すると、フォント/背景色のみを使用した場合は期待どおりに機能しますが、カスタムNumberFormatを適用した場合は期待どおりに機能しなくなります。私はこれを回避するために、真のシナリオと偽のシナリオの両方に対して2つの条件付きフォーマットを作成しました。

条件が真の場合にテキストを非表示にする

.NumberFormat = ";;;"

条件がfalseの場合にテキストを表示する

.NumberFormat = "General"

以下が設定されていますが、動作には影響しません。

  • EnableFormatConditionsCalculationがTrueに設定されている
  • EnableEventsがTrueに設定されている
  • 計算は自動に設定されています

これが私を正しい方向に向かわせた投稿へのリンクです:

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

于 2015-04-21T16:23:19.370 に答える