PC交換・Office更新・32bitから64bit移行後にExcelマクロが動かない

新しいPCでだけ止まるマクロを、Officeのbit数、参照設定、API宣言、パス、プリンター、アドインから切り分ける方法を解説します。

古いPCでは動くのに、新しいPCへ移したらコンパイルエラーや「ファイルが見つかりません」が出る。マクロ本体が壊れたとは限らず、Officeの32bit・64bit、参照ライブラリ、保存パス、プリンターなど環境差が原因のことがあります。

旧PCを処分する前に、動作する状態と設定を記録し、同じ入力で比較できるようにします。

先に結論

旧PCで動くなら、マクロと環境の差を一つずつ比較します。64bit対応が必要なAPI宣言、参照設定、ローカルパス、ドライブ文字、プリンター名、アドインを確認し、特定PCの設定に依存しない形へ直します。

移行時に確認する環境差

エラー文だけでなく、旧新PCの条件を並べます。

  • Windows・macOSとバージョン
  • Office・Excelのバージョンと32bit/64bit
  • 参照設定とアドイン
  • ファイル・フォルダー・ドライブのパス
  • プリンター・PDF・メール環境
  • セキュリティポリシーと信頼済み場所

旧PCを正解として再現テストを作る

同じ入力ファイル、同じ操作、同じ期待結果で旧新PCを比較します。表示されたエラーの全文、止まる行、処理前後のファイルを残します。

API宣言の修正だけでなく、LongPtrなどデータ型の違いも確認します。参照ライブラリが「参照不可」になっている場合は、必要性と代替方法を見直します。

  1. 1
    旧環境を記録する

    bit数、参照設定、保存先、プリンター、正常結果を控えます。

  2. 2
    新環境との差を切り分ける

    エラーが出る最小操作まで絞り、依存項目を一つずつ確認します。

  3. 3
    両環境で再試験する

    必要なら32bit・64bit両対応にし、代表データで結果を照合します。

その場しのぎの設定変更で終わらせない

旧と同じフォルダー名を無理に作るだけでは、次回移行で再発します。設定値を外出しし、ファイル位置をブックから判断するなど、環境差を吸収できる形にします。

方法向いている場面確認したい点
VBAコード修正API宣言・パス・参照を対応旧新双方でテストする
環境設定の調整必要なアドインや信頼設定をそろえるセキュリティを無制限に緩めない
再構築古い依存が多く保守困難現行業務と必要機能を再確認

64bit環境への移行で確認しておきたいこと

旧PCが残っている間に、正常動作の画面録画、設定一覧、出力結果を保存します。

  • エラー全文とスクリーンショットを残す
  • Excelのbit数を確認する
  • 参照設定で「参照不可」を探す
  • 固定パス・ドライブ・プリンター名を控える

64bit環境への移行を相談するときに伝えること

旧PCと新PCの情報を並べ、同じ入力で再現できる状態にします。

  • 問題ブックと正常な旧版
  • 旧新PCのExcel情報
  • エラー全文と止まる操作
  • 必要な外部ファイル・アドイン
  • 正しい出力結果

64bit環境への移行をプロに任せる目安

  • API宣言や外部DLLを使っている
  • 参照不可やコンパイルエラーが複数ある
  • PCごとに保存先やプリンターが違う
  • 今後のPC更新でも使える形へ直したい

64bit環境への移行で確認しておきたいこと

マクロをすべて許可する設定に変えるだけでは、互換性問題は解決せず安全性も下がります。

  • 旧PCを処分してから調査する
  • エラー文を控えず閉じる
  • 32bit版へ戻すだけで恒久対応とする
  • 参照設定を無差別に追加する

64bit環境への移行で確認しておきたいこと

64bit版Officeへ変えるとすべてのVBAを直す必要がありますか?

多くのコードはそのまま動きますが、Windows APIのDeclareなど一部は対応が必要です。

旧PCがもうありません。直せますか?

可能な場合はありますが、正常結果や必要ファイルが分からないと調査範囲が広がります。利用者の記録を集めてください。

新PCだけ32bit版Officeへ戻せばよいですか?

一時的な回避になる場合はありますが、今後の運用と他アプリの要件も含めて判断します。