振動監視|Copilotを使って複数CSVからトレンドグラフを自動生成するマクロを作ってみた話
今回は、Microsoft Copilotを活用して、複数のCSVファイルからトレンドグラフを自動生成するExcelマクロを作成した事例をご紹介します。
中山水熱工業が販売するWi-Fi振動センサー「コナンエアー(conanair)」は、測定結果をCSV形式で保存することができます。自動計測モードで例えば1日1回測定すると、1カ月で30個ほどのCSVファイルが保存されます。
測定結果のトレンドグラフ作成マクロのサンプルは、中山水熱工業から提供されていますが、自分好みのものを作成したいなと思い、まずはシンプルなExcelマクロをCopilotを使って作成してみました。
Copilotに相談してみた
これまであまりVBAには触れてこなかったので、1から作るよりまずはCopilotに相談してみました。Copilotには、以下のような要件を伝えました:
親フォルダを選択 → 子フォルダごとに処理
各CSVの指定行の値を抽出(A列が項目名、B列が値なども説明)
ファイル名から日付を抽出し、指定範囲でフィルタ
子フォルダごとにシートを分けて折れ線グラフを作成
データがない場合はLogシートに記録
グラフのリセット機能も搭載
Copilotは、これらの要件をすぐにVBA構造としてまとめて提案してくれました。

実行結果と効果
上記構造をベースに実際にコードを書き出してもらって、実際に運用してみると、手作業の場合数十分かかっていたグラフ作成が、数分で完了するようになりました。(とはいえ、実行に時間かかったので、このあといろいろ修正加えました。)
また、グラフのリセットや日付範囲の変更も柔軟に対応できるため、分析業務の効率が格段に向上しました。
まとめ
Copilotを活用することで、Excel業務の自動化が一気に加速します。
ただやはり細かいところでミスがあってエラーが発生したりすることもあるのである程度コードを追って理解できる必要があるなという気はします。
あれもこれもとリクエストしていくと、どんどん提案はしてくれるのですが、複雑になればなるほどうまくいかなくなる回数も多くなりますし、そもそもCopilotが提案するコードが最適でないこともあります。
まずは、今回のようなCSV処理やグラフ作成など、シンプルなものから作ってもらい、自分でも中身を理解しながら拡張していくのが良いかなと思います。
「業務をもっと効率化したい」「Excelの自動化に興味がある」という方は、ぜひCopilotを試してみてください!
コメント歓迎!
当方もVBA・Copilotはほぼ素人なので、こういうプロンプトを書いた方がいいよ!とかVBAはこっちのAIの方が向いているよなどあれば教えてください!
