HOME > 即効テクニック > Excel VBA > シート操作関連のテクニック > シートの再計算を設定する(EnableCalculationプロパティ)

シートの再計算を設定する(EnableCalculationプロパティ)|Excel VBA

シート操作関連のテクニック

シートの再計算を設定する(EnableCalculationプロパティ)

(Excel 2000/2002/2003/2007/2010)

構文  Object.EnableCalculation  取得/設定
設定項目 内容
Object Worksheetオブジェクト

EnableCalculationプロパティは、Trueのときにシートの再計算を行い、Falseのときには再計算を行いません。
シートに多数の計算式があるときは、再計算をオフにすると処理速度が速くなります。
処理速度に問題があり、処理の途中で再計算が不要な場合は、いったんEnableCalculationプロパティをオフにするとよいでしょう。

次のマクロは、アクティブシートにデータと数式を入力し、EnableCalculationプロパティの値を変更しています。
EnableCalculationプロパティの状態と、数式が設定されたセルA6の値を確認してください。

●サンプル●

Sub Sample()
    With ActiveSheet
        '---データと数式を設定
        .Range("A1:A5").Value = 1
        .Range("A6").Formula = "=sum(A1:A5)"
        MsgBox "EnableCalculationプロパティ:" & .EnableCalculation & _
            vbCrLf & "データと数式の結果を確認してください"
    
        '---再計算をオフ
        .EnableCalculation = False
        .Range("A1:A5").Value = 100
        MsgBox "EnableCalculationプロパティ:" & .EnableCalculation & _
            vbCrLf & "再計算されていないことを確認してください"

         '---再計算をオン
        .EnableCalculation = True
        MsgBox "EnableCalculationプロパティ:" & .EnableCalculation & _
            vbCrLf & "再計算されたことを確認してください"
    End With
End Sub

●注意●

EnableCalculationプロパティをFalseにしたブックを保存して閉じると、次に開いたとき、プロパティはTrueになりますが、再計算されない状態で開きます。
再計算をオフにしたままのシートはトラブルの原因となりがちなので、マクロの終了前にTrueに戻しておくことをおすすめします。