PowerTools SPREAD for Windows Forms 8.0J
自動再計算と自動更新

数式は、参照するセルの値が変更されると自動的に再計算されます。この自動再計算を無効にし、各セルの数式を個別に再計算することもできます。

また、行や列の追加、挿入、削除、およびセル範囲の移動や入れ替えにより、シートの数式は自動的に更新されます。数式が参照するセルに変更があると、絶対セル参照および相対セル参照は、次のように更新されます。

参照 説明
絶対セル参照 自動更新されます。
例:A1セルを絶対参照する数式があり、シートの先頭に行が挿入されたとします。行の挿入後、A1セルはA2セルに移動するので、数式の絶対参照がA2セルを参照するよう、自動的に更新されます。
相対セル参照 自動的に更新されます。
例:C1セルを相対参照する数式がC3セルに設定されている場合、C3セルは自身より2つ上のセルを参照しています。C1セルとC3セルの間に1行、挿入したとします。行の挿入後、C3セルはC4セルに移動するので、数式の相対参照が、自身より3つ上のC1セルを参照するよう、自動的に更新されます。

設定方法

数式の自動再計算は既定で有効です。無効にするには、SheetViewクラスのAutoCalculationプロパティをFalseに設定します。最後の計算サイクル以降に変更のあった数式を再計算するにはSheetViewクラスのRecalculateメソッドを、シートのすべての数式を再計算するにはRecalculateAllメソッドを使用します。

サンプルコード

次のサンプルコードは、シートのすべての数式を再計算します。

C#
コードのコピー
fpSpread1.ActiveSheet.AutoCalculation = false;
fpSpread1.ActiveSheet.SetValue(0, 0, 20);
fpSpread1.ActiveSheet.SetValue(0, 1, 10);
fpSpread1.ActiveSheet.SetFormula(3, 0, "SUM(A1,B1)");
fpSpread1.ActiveSheet.SetFormula(4, 0, "A1*B1");
fpSpread1.ActiveSheet.SetValue(0, 1, 100);
fpSpread1.ActiveSheet.RecalculateAll();
Visual Basic
コードのコピー
FpSpread1.ActiveSheet.AutoCalculation = False
FpSpread1.ActiveSheet.SetValue(0, 0, 20)
FpSpread1.ActiveSheet.SetValue(0, 1, 10)
FpSpread1.ActiveSheet.SetFormula(3, 0, "SUM(A1,B1)")
FpSpread1.ActiveSheet.SetFormula(4, 0, "A1*B1")
FpSpread1.ActiveSheet.SetValue(0, 1, 100)
FpSpread1.ActiveSheet.RecalculateAll()
関連トピック

 

 


© 2004-2015, GrapeCity inc. All rights reserved.