PowerTools SPREAD for Windows Forms 10.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() |