シートの再計算を設定する(EnableCalculationプロパティ)|Excel VBA |
構文 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に戻しておくことをおすすめします。