Calculate

計算を実行します。対象となるのは、開かれているすべてのブック、ブック内の特定のワークシート、ワークシート内の指定されたセル範囲のいずれかです。

構文
Application.Calculate
引数
戻値

指定例

計算対象 指定例
開いているすべてのブック Excel.Application.Calculate
特定のワークシート Excel.Worksheets(1).Calculate
指定されたセル範囲 Excel.Worksheets(1).Row(2).Calculate

普段はセルの式を変更するとリアルタイムで再計算されていますが、データの量何千・何万件となると計算に時間が掛かり動作が重くなってしまいます。そこでリアルタイムでの計算が必要ないときは自動計算をオフ、必要なときに必要な箇所だけ計算をし最後に再び自動計算に戻すという方法がおすすめです。

以下がCalculateの使用例です。

CONST xlCalculationAutomatic = -4105
CONST xlCalculationManual = -4135

Excel.Application.Calculation = xlCalculationManual	// 自動計算OFF

Excel.Application.Range("A1").Value = 12
Excel.Application.Range("B1").Value = 35
Excel.Application.Range("C1").Value = "=A1+B1"	// セルC1に「47」と表示される。

Excel.Application.Range("A1").Value = 26	// 自動計算ONだとセルC1に「61」と表示されるが、自動計算OFFの状態なので値は「47」のまま。
Excel.Application.Range("C1").Calculate		// この時点でセルC1の再計算が行われ、値は「61」になる。

Excel.Application.Calculation = xlCalculationAutomatic	// 自動計算ON
参考文献