Application.Calculateキャルキュレイト メソッド

本ページには広告が含まれています。

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

構文
Application.Calculate
引数
戻り値

Application オブジェクトを返すメソッド・プロパティ

Application.Calculate メソッド
Microsoft Excelアプリケーションを表すApplication オブジェクトを返します。
Borders.Application プロパティ
Excel.Calculateが属するApplication オブジェクトを返します。

指定例

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

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

以下がCalculateの使用例です。

UWSC
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

参考文献

  1. Application.Calculate メソッド (Excel) | Microsoft Learn
  2. 【ExcelVBA】手動計算・再計算・自動計算を設定する方法を徹底解説! | 侍エンジニアブログ

関連記事

XLOPEN関数 (スクリプト関数)
ExcelまたはOOoのCalcを起動。
XLSHEET関数 (スクリプト関数)
PageSetup オブジェクト
Application オブジェクト
Border オブジェクト
Characters オブジェクト
Charts オブジェクト
Comment オブジェクト
FullSeriesCollection オブジェクト
LineFormat オブジェクト