ホーム読みもの

Excelマクロは、やめるべきか。そのまま使い続けるか

動いているマクロを無理に作り替える必要はありません。ただし「作った人がいない」「共有すると壊れる」に当てはまるなら話は別です。乗り換えの判断を4つの問いに落としました。

読了 約4分 ExcelVBAPower Automate

「昔の担当者が作ったマクロが動いているんですが、これ、どうしたらいいですか」

相談としてはかなり多いです。そして答えは、たいていの場合「そのままでいい」です。

動いているものを作り替えるのは、いちばん割に合わない仕事です。効果はゼロ(今と同じことができるようになるだけ)なのに、工数と事故のリスクだけ発生します。

ただし、例外があります。以下の4つの問いのうち、2つ以上に当てはまるなら、乗り換えを考える価値があります。

問い1:中身を説明できる人が、社内にいるか

いちばん重い問いです。

いなければ、そのマクロは動いているブラックボックスです。今日は動きますが、様式が変わった日・Excelが更新された日・担当者が変わった日に止まります。そして誰も直せません。

ここで大事なのは、止まってから慌てるのではなく、止まる前に「何をしているか」だけでも書き起こしておくことです。作り替えるかどうかは、その後で決められます。

書き起こすのは、コードの解読ではありません。

  • 何を入力に取るか(どのファイルの、どのシート)
  • 何を出力するか
  • 途中で人が判断している箇所はあるか
  • 動かす頻度と、動かす人

この4項目です。これが1ページあれば、作り替えるにしても、他の方法に移すにしても、そこから始められます。

コードは読めなくても書き起こせます

「VBAが読めないので手が出せない」と止まっている現場は多いですが、上の4項目は使っている人に聞けば埋まります。コードを読むのは、それでも分からない部分だけで足ります。

問い2:そのマクロは、1人のPCの中だけで完結しているか

完結しているなら、そのままで構いません。

問題になるのは、複数人で共有しはじめたときです。

  • 人によってExcelのバージョンや設定が違って、動いたり動かなかったりする
  • ファイルを共有ドライブに置いたら、同時に開いて壊れた
  • 会社のセキュリティ設定が変わって、マクロが既定でブロックされた

とくに最後のものは、こちらの都合と関係なく降ってきます。マクロを含むファイルの扱いは年々厳しくなる方向なので、共有前提のマクロは、いずれどこかで引っかかります。

「1人が自分のPCで動かして、結果だけ共有する」という形なら、この問題はほぼ起きません。乗り換えを考えるのは、その形が崩れたときです。

問い3:夜間や不在時に、勝手に動いてほしいか

マクロは、人がExcelを開いてボタンを押さないと動きません。

「毎朝8時に自動で集計しておいてほしい」「ファイルが置かれたら勝手に処理してほしい」——こういう要望が出てきたら、それはマクロの守備範囲の外です。

ここが、Power Automate のようなクラウド側の仕組みに移す一番はっきりした理由になります。逆に言えば、この要望が無いなら、移す理由も弱いです。

問い4:扱う相手は、Excelの外に出ているか

マクロが得意なのは、Excelの中での計算・整形です。ここは今でも強く、置き換える必要はほとんどありません。

苦手なのは、Excelの外に手を伸ばすところです。

  • メールを送る、Teamsに通知する
  • SharePointのリストに書き込む
  • 承認をもらってから次に進む
  • 別のシステムからデータを取ってくる

このあたりが処理の中心になっているなら、外側はクラウド側に任せて、Excelには計算だけさせるほうが素直です。


判定と、現実的な進め方

4つの問いをまとめます。

問い「はい」なら
中身を説明できる人がいない乗り換え寄り(まず書き起こし)
複数人で共有して使っている乗り換え寄り
不在時に自動で動いてほしい乗り換え寄り
処理の中心がExcelの外にある乗り換え寄り

2つ以上当てはまるなら検討、3つ以上なら早めに動いたほうがいい、くらいの目安です。

そして、乗り換えると決めたときの進め方でひとつだけ。全部を一度に置き換えないでください。

現実的なのは、Excelの中の計算はExcelに残し、外とのやりとりだけ先に移すやり方です。

  • 集計そのものはマクロ(あるいは数式)のまま
  • 「ファイルを受け取る」「結果を通知する」「承認を回す」の部分だけ、Power Automate に出す
  • Excel側で自動化を続けたいなら、VBAではなく Office スクリプトという選択肢もあります(Microsoft 365 の Excel で使えて、Power Automate から呼び出せます)

こうすると、動いているものを壊さずに、共有と自動実行の問題だけ解けます。

まとめ

  • 動いているマクロは、基本そのままでいい。作り替えは効果ゼロでリスクだけある
  • ただし「説明できる人がいない」は放置しない。コードは読めなくても、入出力と頻度は書き起こせる
  • 乗り換えを考えるのは、共有した/自動で動かしたい/処理の中心がExcelの外にあるとき
  • 移すときも全部やらない。外とのやりとりだけ先に出す

「そのままでいい」で終わる相談が半分くらいあります。それはそれで、聞いた甲斐のある結論だと思っています。

判断に迷うマクロが複数あるなら、資料室の業務棚卸しシートに並べてみてください。どれから触るべきかが見えやすくなります。

この記事で使うシートを配っています

XLSX

業務棚卸しシート

「どの業務から手をつけるか」を決めるためのシートです。作業を書き出して時間・回数・重要度・判断の有無を埋めると、優先度が自動で並びます。実際の打ち合わせで使っているものをそのまま置いています。

ダウンロード(無料・登録不要)

Excel(.xlsx) / 15 KB ※社内での利用・改変・配布は自由/転載・再配布・販売は不可

読んだうえで「うちの場合はどうか」を話したい方へ

OKD SOFT は、生成AI(Microsoft 365 Copilot / Copilot Studio)と Power Platform を使った業務改善・内製化支援をしています。作って渡して終わりにせず、担当の方が自分で直せる状態までご一緒します。

「何から手をつければいいか分からない」の段階でも大丈夫です。まずは現状をうかがうところから。