guide

進捗管理のエクセルをマクロで自動化する|どこまで任せるか決める

2026年9月8日 ・ Pinateca編集部

進捗管理をエクセルで回していると、毎週同じ作業を繰り返していることに気づきます。各担当のファイルを開いて数字を集める、遅れている行だけを抜き出す、報告用のシートに貼り直す。この繰り返しをマクロに任せたい、という相談はよく聞きます。この記事では、マクロで解決する問題と解決しない問題を先に分け、自動化する価値のある作業を4つに絞り、記録マクロから始める手順、配ったときに動かなくなる原因、そして作った人しか直せなくなる問題への備えまでを扱います。書けるかどうかより、書いたあとに続くかどうかを判断できるようにすることを目指します。

マクロで解決する問題と、しない問題

最初に線を引いておきます。マクロが得意なのは、手順が決まっている繰り返しの作業です。逆に、手順が毎回変わる作業や、人が判断している作業は自動化できません。

進捗管理でよく挙がる困りごとを並べると、性質が2つに分かれます。集計に時間がかかる、転記のミスが出る、報告資料を毎週作り直している。これらは手順が決まっているので、マクロで確実に短くなります。一方、担当者が更新してくれない、進捗の数字が実態と合っていない、遅れの理由が書かれていない。これらは入力する人の側の問題なので、マクロを書いても1つも解決しません。

ここを取り違えると、大きな遠回りになります。誰も更新しない表に対して集計マクロを書いても、空欄を高速に集計するだけです。現場でしばしば起きるのは、自動化に2週間かけたあとで、そもそも入力されていないことに気づく、という順序の失敗です。

先に確かめてください。いまの表は、少なくとも週に1回、担当者の手で更新されているか。されていないなら、直すべきは入力の導線であって、集計の速度ではありません。更新されている表の集計に時間がかかっているなら、そこはマクロの出番です。

もう1つ、判断が絡む作業も自動化の対象から外してください。遅れているかどうかの判定は数式でできますが、その遅れを許容するかどうかは人が決めることです。マクロに判断まで任せると、条件が現実に合わなくなったときに誰も直せなくなります。

自動化する前に、手順を1度書き出す

いきなりコードを書き始めると、必ず途中で作り直しになります。まず、いま人がやっている手順を1つずつ書き出してください。

書き出すのは、動作の単位です。「集計する」ではなく、「担当者ごとのファイルを開く」「B列の最終行まで読む」「状態が完了でない行だけを抜き出す」「まとめ用のシートに貼る」「ファイルを閉じる」というところまで分解します。この粒度まで下ろすと、自動化できる部分とできない部分がはっきり見えます。

書き出したら、それぞれに所要時間を書いてください。週に何分かかっているかが分かると、自動化する価値がある作業とない作業が分かれます。週5分の作業を自動化するために10時間かけるのは、割に合いません。年間で見ても回収できない計算になります。

このとき、例外の処理も一緒に書き出してください。ファイルが見つからないとき、行が1行もないとき、状態の欄に想定外の文字が入っているとき。人がやっている間は無意識に処理しているこれらの場面を、マクロは処理できません。書き出しておかないと、動かしてから気づくことになります。

そして、書き出した手順は残しておいてください。後で直すときにも、別の人に引き継ぐときにも、この一覧が唯一の説明書になります。コードのコメントだけでは、何をしようとしていたのかが伝わりません。

自動化する価値があるのは4つの作業

進捗管理でマクロの効果が出やすい作業は、経験的に4つに絞られます。

1つ目は、複数のファイルやシートを1つにまとめる作業です。担当者ごとにファイルが分かれている場合、開いて読んで閉じる処理を繰り返すだけなので、手順が完全に決まっています。ここは自動化の効果が最も大きく、ファイルが10個を超えるあたりから手作業との差が明確になります。

2つ目は、条件に合う行の抽出です。遅れている行、担当者ごとの未完了、今週が期限の行。フィルターで手動でも取れますが、毎回同じ条件で抜くなら自動化する価値があります。抽出結果を別シートに書き出すところまで含めて1つの処理にしてください。

3つ目は、定型の報告資料の生成です。集計結果を決まった書式に流し込み、日付を入れて印刷用に整える。この作業は毎週まったく同じ手順なので、自動化に向いています。ただし報告の内容が毎回変わるなら、変わらない部分だけを自動化してください。

4つ目は、記録の保存です。毎週の状態を別シートに追記して履歴として残す処理です。手作業だとつい忘れるので、自動化しておくと後から推移が見られます。この履歴が溜まると、遅れが特定の工程や担当者に集中していないかが分かるようになります。

逆に、入力そのものを自動化しようとするのは避けてください。入力を代行するマクロを作ると、入力の責任が誰にあるのか曖昧になります。表を更新するのは人の仕事で、集計するのが機械の仕事です。

マクロを書かずに済ませられる場面

マクロを書く前に、標準の機能で足りないかを確かめてください。書かずに済むなら、それがいちばん保守が楽です。

複数の表を縦に積むだけなら、パワークエリで足ります。フォルダ内のファイルをまとめて読み込む機能があり、コードを書かずに同じことができます。元のファイルが増えても、更新ボタン1つで反映されます。

条件に合う行を抜き出すだけなら、フィルター関数や、テーブル機能とスライサーの組み合わせで足ります。集計だけならピボットテーブルのほうが速く、書式も自動で整います。

繰り返しの入力を減らしたいだけなら、入力規則のドロップダウンとテーブル機能で済みます。テーブルにしておけば、行を足したときに数式と書式が自動で広がるので、マクロで範囲を広げる処理そのものが不要になります。

マクロが必要になるのは、これらを組み合わせても手順が残る場合です。具体的には、ファイルの開閉を伴う処理、印刷やファイル保存の自動化、条件によって処理を分岐させる場合です。この見極めをせずに全部をマクロで書くと、標準機能で済んだはずの部分まで自分で保守することになります。

なお、標準機能で作った仕組みには大きな利点があります。他の人が中身を追えることです。パワークエリの手順は画面で見られますが、マクロの中身はコードを読める人にしか分かりません。この差は、引き継ぎのときに効いてきます。

記録マクロから始める手順

コードを1行も書かずに始める方法があります。マクロの記録機能です。操作をそのまま記録して、あとから中身を見る形で進めると、学習の負担がかなり下がります。

手順はこうです。リボンの開発タブからマクロの記録を選び、名前を付けて開始します。実際にやりたい操作を1度だけ実行し、記録を停止します。これで、いまの操作がコードとして残ります。

記録したコードを開くと、選択やスクロールまで含めて全部が書かれています。ここから不要な行を削るのが最初の作業です。セルを選ぶ処理は多くの場合いらないので、Selectと書かれた行を減らして、対象のセルを直接指定する形に書き換えます。この作業だけで、コードは半分ほどに減り、動作も速くなります。

次に、決め打ちになっている範囲を直します。記録したコードは操作した範囲がそのまま書かれるので、行数が増えると対応できません。最終行を取得して範囲を決める形に書き換えてください。この書き換えができるようになれば、実務で使えるマクロの半分は書けます。

最後に、繰り返しの処理を入れます。同じ操作を複数のシートやファイルに対して行う場合、対象を順に回す形にします。ここまで来ると、記録機能で作れる範囲を超えますが、記録したコードを土台にすれば、白紙から書くよりはるかに楽です。

作るときの注意が1つあります。元のファイルを必ず複製してから試してください。マクロで行った操作は、元に戻す機能で取り消せません。これは記録機能で作ったマクロでも同じです。

進捗管理でよく使う3つの型

実務で書くマクロは、いくつかの型の組み合わせでできています。進捗管理に限れば、覚えておくべきものは3つです。

1つ目は、最終行を求める型です。表の行数は毎週変わるので、範囲を固定で書くと使えません。列の一番下から上に向かって、値の入っている最初のセルを探す書き方を覚えてください。これが分かると、行が増えても減っても同じコードで動きます。似た書き方で最終列も求められるので、列が増える表にも対応できます。

2つ目は、行を1つずつ見て条件で分ける型です。上から下まで順に回し、状態の欄が完了でない行だけを別のシートに書き出す、という処理がこれにあたります。進捗管理のマクロの大半は、この型で書けます。書き出す先のシートは、処理の最初に中身を消してから始めてください。消さずに追記すると、実行するたびに二重になります。

3つ目は、他のファイルを開いて閉じる型です。担当者ごとにファイルが分かれている場合に必要になります。開いたファイルは必ず閉じること、保存するかどうかを明示すること、そして処理の途中でエラーが起きても閉じられるようにしておくこと。この3つを外すと、エラーのたびに開いたままのファイルが残り、次の実行で編集できなくなります。

この3つに加えて、処理中の画面の更新を止める書き方を覚えておくと、動作がはっきり速くなります。1行足すだけで、大きな表では体感が変わります。ただし処理の最後に必ず元へ戻してください。戻し忘れると、マクロが終わったあとも画面が更新されない状態が残ります。

本番のファイルで試さない

マクロを書くうえで、最も守るべきことがこれです。実際に運用している進捗管理のファイルで、書きかけのマクロを実行しないでください。

理由は単純で、マクロの操作は元に戻す機能で取り消せないからです。行を削除する処理を書き間違えて実行すると、その場でデータが消えます。戻す手段はなく、直前の保存まで戻るしかありません。保存したばかりだった場合は、その週の入力が丸ごと失われます。

安全な進め方はこうです。まず、運用中のファイルを複製して、名前を変えた検証用のファイルを作ります。そこで書いて動かし、意図した結果になることを確かめます。次に、実際のデータの量に近い状態で試します。行数が少ないと動くのに、多いと極端に遅くなる書き方があるためです。最後に、運用中のファイルで実行する前に、必ずその日のうちに複製を1つ取ってください。

削除や上書きを伴う処理は、さらに慎重に扱ってください。最初は、削除する代わりに印を付けるだけの処理として作り、目で確かめてから削除に変える形が安全です。手間は増えますが、消えたデータは戻りません。

複数人が使う仕組みなら、実行前に確認の問いかけを出す形にしてください。ボタンを押した瞬間に処理が走る作りは、押し間違いに弱くなります。ひと呼吸置く仕組みがあるだけで、事故の数は明らかに減ります。

ファイルの置き場所と権限を先に決める

マクロを含む仕組みは、置き場所を決めずに始めると必ず散らかります。進捗管理は毎週動くので、散らかった状態が積み上がります。

決めるのは3つです。1つ目は、マクロを含むファイルをどこに置くかです。共有フォルダに置く場合、複数人が同時に開くと編集できなくなるので、実行する人を決めておく必要があります。個人の端末に置く場合は、その人が休んだ週に動かせません。どちらにも弱点があるので、どちらを選んだかを明示しておいてください。

2つ目は、出力先です。集計結果や報告資料を書き出すフォルダを決め、ファイル名の付け方も決めます。日付を先頭に入れる形にしておけば、並べ替えたときに時系列になります。名前の付け方を決めずに始めると、同じ内容のファイルが複数の名前で増えます。

3つ目は、誰が実行してよいかです。集計マクロなら誰が実行しても結果は同じですが、削除や上書きを伴うマクロは実行できる人を絞るべきです。ファイル自体を分けて、危険な処理を含むファイルは限られた人のフォルダに置く形が現実的です。

そして、置き場所を変えるときは、パスを固定で書いていないかを必ず確認してください。マクロのあるファイルと同じフォルダを基準にする形にしておけば、まとめて移動しても動きます。この一手間を惜しむと、フォルダを整理した日に仕組みが止まります。

配ったときに動かなくなる原因

自分の環境で動いても、他の人に配ると動かないことがあります。原因はいくつかに決まっています。

まず、ファイルの形式です。マクロを含むブックは通常の形式では保存できないので、マクロ有効ブックとして保存する必要があります。うっかり通常の形式で保存すると、マクロだけが消えます。警告は出ますが、急いでいると読まずに進んでしまいます。

次に、セキュリティの設定です。ダウンロードしたファイルや、メールで受け取ったファイルのマクロは、既定では実行できない状態になっています。受け取った側は、ファイルのプロパティを開いて許可するか、組織で信頼できる場所として設定された場所に置く必要があります。これは不具合ではなく、意図された動作です。

そして、環境の違いです。ブラウザで開いた場合、マクロは実行されません。

Excel for the web で VBA (Visual Basic for Applications) マクロを作成、実行、または編集することはできませんが、マクロを含むブックを開いて編集することはできます。 出典: support.microsoft.com

スマートフォンやタブレットのアプリでも同じです。ファイルは開けますが、マクロのボタンを押しても何も起きません。現場の担当者がスマートフォンから見る運用を想定しているなら、マクロに頼った仕組みは最初から成立しません。ここは作る前に確認してください。

参照設定の違いで動かない場合もあります。特定の機能を使うために参照を追加していると、その参照がない環境でエラーになります。配布を前提にするなら、参照を追加せずに書ける範囲で組んでおくほうが安全です。

パソコンの種類による差もあります。同じ表計算ソフトでも、動く環境と動かない書き方があり、ファイルの選択やフォルダの走査といった処理は書き方を変える必要が出ることがあります。社内に異なる環境が混在しているなら、配る前に必ず両方で試してください。片方でしか試していないマクロは、必ず配った翌日に問い合わせが来ます。

そして、動かなかったときに何が起きるかも決めておいてください。エラーの画面がそのまま出る作りだと、受け取った側は何をすればよいか分かりません。処理の入口で環境を確かめ、条件に合わなければ「この環境では実行できません」と日本語で伝えて終わる形にしておくと、問い合わせの手間が減ります。

動かなくなる典型的な場面

配布の問題をクリアしても、運用のなかで止まることがあります。よくあるのは次の4つです。

1つ目は、列が増えたときです。列の位置を数字で指定していると、誰かが列を1つ挿入した瞬間にずれます。列名を検索して位置を求める形にしておくと、この事故は防げます。手間は数行ぶんです。

2つ目は、シート名が変わったときです。シート名を文字列で指定していると、名前を変えられた瞬間にエラーになります。名前を変えないというルールを周知するか、シートの並び順で指定する形にしてください。

3つ目は、想定外の値が入ったときです。数値の列に全角の数字が入っている、日付の列に文字が入っている、といった状態でエラーになります。処理の前に、値の形を確かめる行を入れておくと、途中で止まらずに済みます。エラーで止まるより、対象外として飛ばして最後に一覧を出すほうが、使う側は困りません。

4つ目は、ファイルの置き場所が変わったときです。パスを固定で書いていると、フォルダの整理をした瞬間に動かなくなります。マクロのあるファイルと同じフォルダを基準にする形にしておけば、まとめて移動しても動きます。

これらはすべて、書き方の工夫で避けられます。ただし避け方を知らずに書いたマクロは、必ずどこかで止まります。止まったときに直せる人が社内にいるかどうかが、続くかどうかの分かれ目になります。

作った人しか直せなくなる問題

マクロの最大の弱点は、技術ではなく人にあります。書いた人が異動や退職でいなくなると、その時点で誰も直せなくなります。

進捗管理は毎週動く仕組みなので、止まると業務が止まります。しかも、止まった原因がコードの中にあると、読める人がいなければ手も足も出ません。表計算の数式なら見て追えますが、コードはそうはいきません。

備えとして、3つやっておいてください。1つ目は、処理の流れを日本語で書いた説明を、コードとは別のシートに残すことです。何のためにこの処理があるのか、どこを直せば条件が変わるのかを書いておきます。2つ目は、変わりやすい値をコードの中に埋め込まないことです。期限の日数、対象の担当者、出力先のフォルダといった値は、設定用のシートに置いて、そこから読む形にします。これだけで、コードを読めない人でも設定を変えられます。

3つ目は、マクロが無くても最低限の運用ができる形を残すことです。集計をマクロだけに頼っていると、動かなくなった週に何も分かりません。手作業でも同じことができる手順を、説明として残しておいてください。

もう1つ、現実的な話をします。社内にマクロを書ける人が1人しかいない状態は、その人の異動が業務の停止に直結する状態です。この状態を許容できるかどうかは、技術の問題ではなく体制の判断です。許容できないなら、書ける人を増やすか、マクロに頼らない形に寄せるかのどちらかになります。

自動化の効果を測る

作ったあとで、効果を測ってください。測らないと、続ける理由も、やめる理由も分からなくなります。

測るのは1つで足ります。集計や報告にかかっていた時間が、実際に何分減ったかです。作る前に書き出した所要時間と比べれば、すぐに出ます。減った時間が週30分で、作るのに20時間かかったなら、回収に40週かかる計算です。これを長いと見るか妥当と見るかは、その作業があと何年続くかによります。

もう1つ、見ておくとよい数字があります。マクロが止まって手作業に戻った回数です。月に1回以上止まっているなら、自動化の効果は打ち消されています。止まるたびに原因を調べる時間がかかり、しかもその時間は作った人にしか使えないからです。

効果が出ていないことが分かったら、素直にやめてください。作ったものを維持し続けること自体が目的になると、判断がおかしくなります。マクロは手段であって、成果ではありません。

マクロを続ける場合と、道具を替える場合

ここまで注意点を並べましたが、マクロで進めたほうがよい場面ははっきりしています。

・集計する人が1人か2人で、その人が自分で書ける ・進捗の入力はすでに定着していて、集計だけが重い ・全員が同じ環境で、パソコンから使っている ・処理の内容が数年単位で変わらない

この条件なら、マクロは有効です。入力する側の手順は1つも変わらないので、担当者に説明し直す必要もありません。書ける人が自分の手元で直せる範囲に収まっている限り、止まっても数十分で戻せます。

逆に、次のどれかが起きているなら、マクロを足しても状態は良くなりません。書ける人が社内に1人しかいない、現場がスマートフォンから見たいと言っている、ファイルを集める作業そのものを自動化しようとしている、自動化した処理が毎月のように壊れている、といった状態です。

とくに3つ目が効きます。ファイルを集めて束ねる作業を自動化しようとしているなら、それは「データが分散していること」が根本の問題です。分散したものを機械的に集めるのは対症療法で、集める先が増えるたびに処理が複雑になります。最初から1か所に入る形なら、集める処理そのものが不要になります。

公開情報から見た、道具を替える境目

集計の仕組みを表計算の外へ出すかどうかを考えるときは、まず、いま実行ボタンを押している人が何人いるかを数えてください。マクロは書いた人が1人で回している形が多いので、外へ出しても最初に必要な人数はほとんど増えません。人数で区切る型のサービスなら、その1人か2人ぶんから始められます。機能で区切る型なら、いまマクロで実現している処理と同じことがどのプランに入っているかを、1つずつ確かめる作業が先に来ます。

案内ページの料金には、無料プランは5人までとボード10個までで、6人目または11個目のボードから1人あたり月500円(税抜)、年払いなら月400円(税抜)になると書かれています。機能で絞らず、区切るのは人数とボードの数だけという設計で、ガントチャートもチャットもカスタムフィールドも無料の範囲に入ります。ゲストは人数に含まないという記載もあり、集計結果を受け取るだけの人は数から外れます。集計を担当している人が5人までなら、費用をかけずに試せる範囲です。

一方、機能で区切る型のサービスもあります。Trelloの公式の料金ページには、2026年9月4日時点で、無料プランについて「ワークスペースあたり最大10ボード」「ワークスペースあたり最大10コラボレーター」という記載があり、カレンダーやタイムラインといった見え方はPremiumプランの機能として並んでいます。機能ごとの対応はTrelloとの比較に表でまとめてあります。

自動化や外部との連携をどこまで期待するかは、先に確かめておくべき点です。案内サイトの説明では、自動化と外部連携で勝負する道具ではないという立場が取られており、そこを重視するなら別の選択肢を見たほうが早くなります。見え方の種類はできることに、カンバン、ガント、カレンダー、リスト、グリッド、時間割、リソースなど8種類のボードとして並んでいます。外部から扱いたい場合の入口としてAPIの案内も同じページから辿れます。他のサービスとの並びは比較の一覧から確認でき、国内で使われることの多いものとしてBacklogとの比較Jootoとの比較、汎用的な道具としてNotionとの比較、大きめの組織で使われるAsanaとの比較monday.comとの比較も同じ形式で並んでいます。

社外の関係者を含めて使う場合の考え方は安全性の考え方に、ワークスペース単位のデータ分離、ロールによる権限の絞り込み、操作ログとログイン履歴の3点で整理が載っています。すでに別のサービスでカードを作っている場合の取り込みはTrelloからの移行に移行できる範囲が表で書かれており、残りの疑問はよくある質問にまとまっています。

試すときの順番だけ、先に決めておいてください。いま動いているマクロを止めるのは最後です。並行して回している間は集計が二重になりますが、比べる材料がそれで手に入ります。1つの案件か1つのチームだけを選び、1か月だけ別の形で回してみる。それで集計の作業そのものが消えるなら、続ける価値があります。消えないなら、原因は道具ではなくデータの持ち方にあります。どちらの結論でも、1か月で分かることを1年悩む必要はありません。

Q1. 進捗管理のマクロは、プログラミングの経験がなくても作れますか?

マクロの記録機能を使えば、コードを書かずに始められます。操作をそのまま記録し、不要な選択の行を削り、決め打ちの範囲を最終行の取得に書き換える。この3段階を踏めば、実務で使うマクロの半分は作れます。ただし配布や例外処理まで含めると学習が必要なので、最初は自分の手元で動かす範囲から始めてください。

Q2. マクロを含むファイルを配ると、相手の環境で動かないのはなぜですか?

ダウンロードやメールで受け取ったファイルのマクロは、既定では実行できない状態になっているためです。これは不具合ではなく、意図された安全のための動作です。受け取った側がファイルのプロパティで許可するか、組織で信頼できる場所として設定された場所に置く必要があります。

Q3. スマートフォンやブラウザから進捗管理のマクロを実行できますか?

できません。ブラウザ版ではVBAマクロの作成も実行も編集もできず、マクロを含むブックを開いて編集することはできる、と公式の説明にあります。スマートフォンのアプリでも同様です。現場がスマートフォンから見る運用なら、マクロに頼らない形を選んでください。

Q4. 自動化に見合うかどうかは、どう判断すればよいですか?

作る前に、いまの作業にかかっている時間を分単位で書き出してください。週30分が減り、作るのに20時間かかるなら、回収に40週かかります。加えて、マクロが止まって手作業に戻った回数も数えてください。月1回以上止まっているなら、効果は打ち消されています。

ブログ一覧へ

ほかの記事

触ってみるのが、いちばん早い。

5人まで無料で使えます。クレジットカードは不要です。

無料で始める