エクセルのファイル形式を「.xlsx」から「.xlsm」に変更したら起動が遅くなることがあります。
本記事では、その対処法を紹介します。
目次
エクセルファイル形式を「.xlsm」に変更したら開くのが遅くなる、の原因と対処法
マクロが自動実行されている
原因
.xlsm 形式はマクロ(VBA)を含むことができ、「Workbook_Open」などのイベントが起動時に実行されることがあります。
対策
- Alt + F11 → VBAエディタ →
ThisWorkbookを開き、Workbook_OpenやAuto_Openの記述を確認してください。 - 起動時に不要な処理(ループ、外部参照、重い操作)が記載されていないかチェックし、処理の最適化または削除を検討してください。
セキュリティチェックによる遅延
原因
.xlsm はマクロ付きファイルのため、ウイルスチェックやExcelのセキュリティ警告処理が追加で走ることがあります。
対策
- 信頼済みの場所に保存する
- 「ファイル」→「オプション」→「セキュリティセンター」→「セキュリティセンターの設定」→「信頼できる場所」にフォルダを追加。
- 「このファイルの編集を有効にする」などの警告が毎回出る場合は、右クリック→「プロパティ」で「ブロックの解除」をチェック。
マクロ以外の構造が複雑化している
原因
.xlsm 化にともなってファイルの構成(名前付き範囲、定義された関数、参照など)が変わり、初期読み込みが重くなることもあります。
対策
- [数式] タブ → 「名前の管理」で、不要な名前定義を削除。
- [データ] → [クエリと接続] に不要な外部接続がないか確認。
- 隠しシートや非表示オブジェクトが増えていないか確認(VBAで一括チェックも可能です)。
VBAプロジェクトが壊れかけている
原因
稀に、VBAプロジェクトに不要な参照設定や壊れたモジュールが含まれていると、読み込みに時間がかかります。
対策
- VBAエディタ(Alt + F11)→ メニュー「ツール」→「参照設定」で「参照不可」があれば解除。
- モジュールを一度エクスポートしてから削除し、再インポート。
バックグラウンドでアドインが影響している
原因
マクロ付きファイルを開いた際、一部のアドイン(特に古いCOMアドインなど)が読み込みと連動して動くことがあります。
対策
「ファイル」→「オプション」→「アドイン」→ 管理(Excelアドイン、COMアドイン)で不要なものを無効化。
エクセルが重いときの追加の対策(パフォーマンス向上のための一般設定)
- 起動時のマクロを遅延実行に変更(例:タイマーを用いた遅延実行)
- 起動時に画面更新や計算を一時的に止める処理を追加:
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
'処理
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
まとめ:エクセルでマクロ形式に変更したら重くなったときのトラブル切り分けのおすすめ手順
.xlsmのコピーを作成し、VBAコードをすべて削除して保存 → 起動時間を比較- セキュリティセンター設定を確認
- アドイン・外部参照の有無をチェック
- 必要なら
.xlsb(バイナリ形式)で保存して比較(読み込みが速いことがあります)
なお、VBAについての詳細は以下の姉妹サイトをご覧ください。
エクセルVBA入門
エクセルVBA入門 | エクセルVBAマクロを基礎から学べるサイト
エクセルVBAマクロを基礎から学べるサイト
