|
■再計算を手動に設定する(式が入っていなくても効果有り)
ちなみに手動計算は、F9を押すと再計算してくれる。
Application.Calculation = xlCalculationManual
Application.Calculation = xlCalculationAutomatic
■再描画を止める
Application.ScreenUpdating = False '再描画を止める
Application.ScreenUpdating = true '設定を戻す
(特にセル操作するところ、グラフ描画処理では効果あり)
【注意】
・エラー発生で止まった場合は、イミディエイト・ウィンドウで True に変更
・ユーザーには画面変化がないので処理が長すぎるとフリーズと勘違いされます。
(処理途中で、trueにする方法も検討しましょう)
・またエラー処理終了処理部分にも記載しておくこと。
■シートとの受け渡し回数を減らす
1.Select、ActivateをやめてWithを使う
(例)Cells(11,1).Select
selection.〜
↓
with Cells(11,1)
.〜
end with
2.配列を使う(効果大)
3.配列ループはFor〜Nextではなく、For〜Eachで実施。
(どうしても2が無理な場合)
■同じ処理をしない
1..withを使う
■タイプ(型)を指定する。
1.Dim a as integer等
・Option Explicitを使えば型定義していない変数があればエラーを出してくれます。
2.Mid, Left, Right(Variant型)の返り値を文字列指定にする
→Mid$, Left$, Right$(String型)
■Excel関数を使う
自分でコードを書くより、Excel関数は速度が速い。
WorksheetFunction.average(〜)
WorksheetFunction.VLookup(〜)
■ピボットテーブルの活用
(以下はExcel外の内容)-----------
■CPU処理の優先順位を上げる
■他のソフトを止める
|