Excelマクロが急に動かなくなる5つの原因

Excelマクロが急に動かなくなる5つの原因

記事
IT・テクノロジー
「昨日まで動いていたマクロが、今日は動かない」。原因の多くは決まったパターンに当てはまります。調べる順番も含めてまとめます。

■1. 参照していた列の位置や名前が変わった
一番多い原因です。基幹システムからの出力に列が1つ増えただけで、決め打ちの列番号がずれます。列名で探す書き方に直すと再発しません。

■2. 元ファイルの名前・保存場所が変わった
共有フォルダの整理やOneDriveへの移行でパスが変わると、開けずに止まります。エラーメッセージに「ファイルが見つかりません」が出ていれば、まずここです。

■3. 参照設定(ライブラリ)が外れた
別のPCで開いた、Officeが更新された、といったときに発生します。VBEの参照設定に「参照不可」と出ていれば、これです。

■4. データの中身が想定と変わった
空白セル、全角数字、日付が文字列、といった変化で型変換に失敗します。特定の行だけで止まる場合はこれを疑います。

■5. セキュリティ設定でマクロが無効化された
ファイルをメールやダウンロードで受け取ると、ブロックされることがあります。ファイルのプロパティに「セキュリティ: 許可する」のチェックが出ていないか確認します。

■調べる順番
まずエラーメッセージと、止まる行を特定します。次に、いつから動かないかと、その前後で何が変わったか(ファイルの更新、Officeの更新、担当者の交代)を聞きます。この2つで、5つのうちどれかにほぼ絞れます。

■再発を防ぐ2つの工夫
列を名前で探すようにすることと、処理の最初に「前提チェック」を入れることです。必要なシートと列があるか、行数が0でないかを確認して、違っていればその場で分かるメッセージを出します。原因不明で止まるより、はるかに早く直せます。

VBAだけで難しい処理は、Pythonに移すほうが結果的に安く済むこともあります。作り替える場合は「Excel/CSV集計をPythonで自動化します」(5,000円)、既存ツールの修理は「動かないGAS・Pythonツールを復旧します」(15,000円)で承っています。現状のファイルを見て、直すべきか作り替えるべきかの判断からお手伝いできます。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す