ExcelWork.info

Excel(エクセル)のマクロ・VBA・関数・操作などのメモ

再計算(Calculation, EnableCalculation, Calculate)

      2016/01/12

ワークブックやシートの再計算

通常、Excel では、自動的に再計算が行われる設定になっており、セルに値を入力した時に関連する数式や関数がある場合、再計算が実行されます。ただし、大量の計算式がある場合は、その処理に時間がかかる場合があります。マクロを実行する際、再計算の設定を「手動」にすることで、マクロの実行速度を向上させることが可能です。



Calculation プロパティ

ブック全体を自動的に再計算するかどうかを設定することができます。計算方法のモードを表す XlCalculation 列挙型の値を使用し、取得および設定が可能です。


【書式】

<取得>
object.Calculation

<設定>
object.Calculation = const


引数・戻り値

  • object  ・・・  対象となる Application オブジェクトを指定します。
  • const  ・・・  計算モードを表す XlCalculation 列挙型 の定数またはその値を指定します。
    定数 内容
    xlCalculationAutomatic -4105 自動
    xlCalculationManual -4135 手動
    xlCalculationSemiautomatic 2 データテーブル以外自動



EnableCalculation プロパティ

指定したワークシートを自動的に再計算するかどうかを設定します。ブール型(Boolean)の値を使用し、取得および設定が可能です。


【書式】

<取得>
object.EnableCalculation

<設定>
object.EnableCalculation = boolean


引数・戻り値

  • object  ・・・  対象となる Worksheet オブジェクトを指定します。
  • boolean  ・・・  True を指定すると、必要に応じて自動的にシートの再計算を実行します。False を指定した場合、シートの再計算を実行しません。

EnableCalculation プロパティ に、False を設定したままブックを保存、終了しても、次回ブックを開いた時、EnableCalculation プロパティは、True に設定されるので注意が必要です。
※ Excel 2013 の場合、最初の1回は、再計算されませんでした。(他のバージョンに関しては試していないのでどのような動作を行うかわかりません。)



Calculate メソッド

Excel の自動再計算の設定が、「手動」の場合に、再計算を行うには、Calculate メソッド を実行します。指定するオブジェクトによって、再計算を行う範囲を変更することができます。


【書式】

object.Calculate


引数・戻り値

  • object  ・・・  対象となる Application オブジェクトWorksheet オブジェクトRange オブジェクトを指定します。

Application オブジェクトを指定、または、省略した場合、ブック全体を再計算します。
Worksheet オブジェクトを指定した場合、指定したワークシートだけを再計算します。
Range オブジェクトを指定した場合、指定したセル範囲だけを再計算します。



再計算の設定 使用例

サンプルVBAソース


実行結果

再計算の設定・実行



 - ブック・シートの操作 , , , , , , , ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

ウィンドウのタイトル(Window.Caption プロパティ)

ウィンドウのタイトル(Caption プロパティ) Windows.Captio …

ステータスバーにメッセージを表示(StatusBar プロパティ)

StatusBar プロパティ StatusBar プロパティで、ステータスバー …

ウィンドウ枠の固定(FreezePanes プロパティ、SplitColumn プロパティ,SplitRow プロパティ)

ウィンドウ枠の固定と解除 ウィンドウ枠を固定するには FreezePanes プ …

印刷 タイトル行・列 設定の例
印刷のタイトル行、タイトル列を設定(PrintTitleRows,PrintTitleColumns)

PageSetup.PrintTitleRows プロパティ PageSetup …

印刷設定(ページごとに異なるヘッダー・フッターを設定)Page オブジェクト・HeaderFooter オブジェクト

Page オブジェクト ページごとに異なるヘッダーおよびフッターを設定する場合、 …

印刷設定(ヘッダーに画像を指定)LeftHeaderPicture, CenterHeaderPicture, RightHeaderPicture

ヘッダーに画像を表示するには LeftHeaderPicture プロパティ、C …

SheetsInNewWorkbook プロパティ 使用例
ブック作成時のシート数の取得・設定(SheetsInNewWorkbook プロパティ)

SheetsInNewWorkbook プロパティ Excel で新規ブックに自 …

Paste メソッド 使用例_1
ワークシートにクリップボードの内容を貼り付ける(Paste メソッド)

Paste メソッド 指定したワークシート上にクリップボードのデータを貼り付けま …

ブックのファイル形式を調べる(FileFormat プロパティ)

ブックのファイル形式を調べる(FileFormat プロパティ) 指定したブック …

RecentFile オブジェクト・RecentFiles コレクション
最近使用したファイル(RecentFile オブジェクト,RecentFiles コレクション)

最近使用したファイル(RecentFile オブジェクト,RecentFiles …