「前の担当者が作ったマクロが、ある日から動かなくなった」「作った人はもう退職していて、中身が分からない」。
Excelのマクロ(VBA)では、よく聞くお悩みです。ただ、動かなくなる原因は、いくつかの決まったものであることが少なくありません。
ここでは、よくある原因と、自分で確かめられることをまとめました。
【原因1:ファイルの場所や名前が変わった】
マクロの中には、「このフォルダの、この名前のファイルを開く」と、場所が直接書かれていることがあります。
そのため、次のようなことがあると、マクロがファイルを見つけられずに止まります。
・共有フォルダの場所が変わった
・パソコンを入れ替えて、ユーザー名が変わった
・読み込むファイルの名前を、少し変えた
最近、パソコンの入れ替えやフォルダの整理をしていないか、思い出してみてください。
エラーの画面に「ファイルが見つかりません」「パスが見つかりません」と出ている場合は、この原因である見込みが高いです。
【原因2:シート名や列の並びが変わった】
マクロは、「売上というシートの、C列」のように、場所を決めて動いていることが多いです。
シートの名前を変えた、列を1つ足した、表の上に1行入れた、といった小さな変更でも、マクロが違う場所を読んでしまい、エラーになったり、おかしな結果になったりします。
「動くけれど、結果がずれている」という場合は、この原因が多いです。
表の形を変えたい場合は、先にマクロがどの場所を使っているかを確かめてからにすると、こうしたずれを防げます。
【原因3:Excelやパソコンの環境が変わった】
次のような変化でも、動かなくなることがあります。
・Excelのバージョンが新しくなった
・インターネットや共有から受け取ったファイルで、マクロが止められている
・古い部品(参照設定)を使っていて、新しいパソコンにそれがない
とくに、受け取ったファイルでマクロが止められている場合は、ファイルを右クリックして「プロパティ」を開き、下のほうに「許可する」のチェックがあるかを見てみてください。社内で作った信頼できるファイルなら、ここにチェックを入れることで動くようになることがあります。
【小さなコツ:「デバッグ」を押して、黄色い行を写真に撮る】
マクロがエラーで止まったときに出る画面には、「デバッグ」というボタンがあることが多いです。
これを押すと、マクロの中身が開き、止まった行が黄色で示されます。
このとき、次の2つをスクリーンショットで残しておいてください。
・エラーが出たときのメッセージの画面
・黄色くなっている行のまわり
自分で直せなくても、この2枚があれば、原因の見当をつけるのがとても楽になります。
なお、中身を見たあとは、何も変えずに画面を閉じれば大丈夫です。試しに直してみる場合は、先にファイルのコピーを取っておくと安心です。
こうした作業のご相談は、こちらの出品で承っています。