Excel設定変更
ブックの計算が「手動」になっていてもブックの保存時に再計算が走るようになっています。この再計算を行ってほしくない場合は、Application.CalculateBeforeSaveプロパティにFalseを指定します。
VBAには処理の前後に書くだけでマクロを高速化できる「おまじない」のようなコードが存在します。その内容、マクロ実行中のExcel動き(描画や計算)を制限するApplication設定コード4選を解説します。
数式の計算を自動/手動に切り替えるにはApplication.CalculationにxlCalculationManual/Automaticを指定します。「手動」設定中に途中で一度再計算を挟みたい場合は、Calculateメソッドを使用して下さい。
マウスカーソルの描画を止めてマクロを軽くする方法を解説します。Application.Cursorプロパティを使用します。xlWaitで砂時計にすることでマクロを軽くすることができ、最後にxlDefaultに戻して使用します。
画面の描画を停止/再開するにはApplicationオブジェクトのScreenUpdatingプロパティにFalse/Trueを指定します。マクロの高速化に使用する際は、他3種の設定と同時に実行してください。
Worksheet_BeforeDoubleClickやWorksheet_Changeなど、 ユーザーの操作を検知して実行するマクロをイベントマクロと呼びます。この実行(検知)を停止させるには、Application.EnableEventsプロパティを使用します。
マクロが中断しないようExcelからの確認メッセージを非表示にする、DisplayAlertsプロパティの使い方を解説します。Application.DisplayAlerts=Falseを実行すると以降確認メッセージが表示されなくなり、Trueにすると再度表示されるようになります。