2017-05-17 9 views
-1

セルレベルで計算を制御する方法があるかどうかを判断しようとしています。ここでは、私は基本的にIfステートメントでやろうとしているものです...私は任意の助けをいただければ幸いです「DoThisBigLongCalc」いえの「UseTheLastValue」....Excel - フラグを使用してセルレベルの計算を制御する

Cell A1 =IF(CalculateFlag = True, DoThisBigLongCalc, UseTheLastValueOfBigCalc) 

する方法がわかりません!私がこれをやっている理由は、私はF9を押すたびに計算したい数式をたくさん持っているのですが、長い計算時間のためにたくさんの計算をしています.....ありがとう

答えて

0

1)F9で再計算するセルは、Excelシートに直接入力してください。手動に式の計算方法を設定しても、データはあなたがVBAを通じてそれらのセルのために数式を入力して、再計算を行うにはしたくないセルの場合)リフレッシュしてあなたがF9

2を押したときに再計算されます、コードが実行されるたびに、数式が計算されます。そうでない場合、古い値はセル上にそのまま残ります(UseTheLastValueOfBigCalc)

このコードは、特定のセルのTrue/Falseを検出してそれに応じて実行できるworksheet_changeイベントによってトリガされます。 trueの場合は、数式を再計算し、falseの場合は無視します。以下

このコードはTrueA1

で入力された場合にのみB3B1B2の値と印刷物を合計

Private Sub Worksheet_Change(ByVal Target As Range) 
    If Target.Address = "$A$1" And Range("A1") = True Then 
     Range("B3") = Application.WorksheetFunction.Sum(Range("B1:B2")) 
    End If 
End Sub 

、細胞A1Trueを検出し、それに応じて計算コード断片でありますenter image description here

セル内の値を変更した場合でも、B1またはB2合計は再計算されません。つまり、A1trueに変更されない限り、以前の値を使用することができます。

enter image description here

True一度

enter image description here

は、この情報がお役に立てば幸い、数式が計算され、入力されます。

関連する問題