
Excelでデータを入力しているのに「自動で計算されると思っていたら保存しないと計算されない」、反対に「あとで計算させたい」と思うことがあります。
VBAで計算方法の自動、手動を切り替える設定方法を記録します。
自動、手動の切り替えは「Calculation」プロパティを使います。
VBAの設定ではなく、手動で設定したい場合はこちら
Excelのセルに数式が入っているのに、値を変更しても自動で計算してくれず、保存ボタンを押すと計算してくれる時ってありますよね。 なぜかというと計算方法の設定が「手動」になっているからです。 計算方法の設定 …
< スポンサーリンク >
「Calculation」プロパティ構文
計算モードの値を取得または設定します。
Applicationオブジェクト.Calculation
xlCalculationAutomatic=自動
xlCalculationManual=手動
xlCalculationSemiautomatic=データテーブル以外自動
ブックの保存前に再計算を行うかの値を取得または設定します。
Applicationオブジェクト.CalculateBeforeSave
True=「ブックの保存前に再計算を行う」がオンになる
False=「ブックの保存前に再計算を行う」がオフになる
VBAで計算方法を自動、手動に切り替える例
[計算方法]を「自動」に設定します。
Sub test()
Application.Calculation = xlCalculationAutomatic
End Sub
[計算方法]を「データテーブル以外自動」に設定します。
Sub test()
Application.Calculation = xlCalculationSemiautomatic
End Sub
[計算方法]を「手動」に設定し、[ブックの保存前に再計算を行う]にチェックを入れます。
Sub test()
Application.Calculation = xlCalculationManual
Application.CalculateBeforeSave = True
End Sub
[計算方法]を「手動」に設定し、[ブックの保存前に再計算を行う]のチェックをはずします。
Sub test()
Application.Calculation = xlCalculationManual
Application.CalculateBeforeSave = False
End Sub
こんな記事も書いています