7月17日、How-To Geekが「I asked Claude to build 3 Excel automations」と題した記事を公開した。ClaudeにVBAコードを生成させてExcelの自動化を3種類試した実践レポートで、「数式を1つ教えてもらう」レベルではなく、ワークブック丸ごと生成や定期レポートの自動出力まで頼めるのかを実際に検証している。
テスト1:ワークブックをまるごと生成する
3本の中で最も読み応えがあるのがこのテストだ。プロンプト1つで「従業員オンボーディング用ワークブック」を生成させた。
Claudeが出力したのはBASファイル(VBAモジュールをエクスポートしたファイル形式)だ。VBAとはExcelをはじめとするMicrosoft Office製品に内蔵されたプログラミング言語で、繰り返し作業や複雑な処理をマクロとして自動化できる。このBASファイルをマクロ有効ブック(.xlsm)にインポートしてマクロを実行すると、Excelが自動で以下をすべて構築した:
- 複数のワークシート(Dashboard、Tasks、Equipmentなど)の作成
- データをExcelテーブル(
tblEmployees等)に変換 - ステータス列へのドロップダウンリスト(Not Started / In Progress / Completed)の設定
- 「Pending」を含む行を色付けする条件付き書式
IFERRORでラップされたINDEX/MATCH数式- ナビゲーションボタン付きのダッシュボード
- カラーコード化されたシートタブ
VBAのバグは1件だけ発生した。エスケープされた引用符に起因する構文エラーで、Excelがすぐ箇所を示した。エラー内容をClaudeに貼り付けると修正済みコードが返ってきて、モジュールを差し替えることで解決した。
残りの修正は大半がデザイン面だった。デフォルトの空白シートの削除、ダッシュボードチャートの重なりの解消、テーブルカラーの調整など。記事では「これらはClaudeのコードの問題というより、自分のプロンプトの仕様不足だった」と振り返っている。ダッシュボードのレイアウト、データバリデーションの管理方法、ステータスの色分けルールを最初から指定していれば、もっと完成度が上がっていたはずだという。
テスト2:再利用可能なPDFレポート出力システム
2つ目は既存の売上データから担当者別のPDFレポートを自動生成する仕組みの構築だ。
Claudeが生成したVBAは、データシートを読み取り、担当者ごとにレポートテンプレートへデータを流し込み、PDFとして書き出し、出力ログシートに記録する、という一連のフローを自動化した。ログシートには「Salesperson / File Name / Date Created / Status」のカラムが用意され、実行履歴が残る設計になっている。
テスト3:既存スプレッドシートの分析・整形ツール
3つ目は、既存のスプレッドシートを読み込んでデータを分析・整形するツールの生成だ。記事では雑然とした生データを含むシートをClaudeに渡し、列の並び替え、空白行の除去、数値フォーマットの統一といった整形処理を行うVBAコードを生成させた。
このテストでもエラーは発生したが、テスト1と同様にエラーメッセージをそのままClaudeに貼り付けて修正コードを受け取るというサイクルで対処できた。整形後のシートは手作業であれば数十分を要する量の処理を、マクロ実行一発で完了している。記事はこのテストを通じて、ClaudeはゼロからのVBA生成だけでなく、既存資産の改善・整備にも実用的に使えると結論づけている。
実用上のポイント
3つのテストを通じて見えてきたのは、以下の点だ:
- プロンプトの仕様が成果物の品質を決める。レイアウトや色の指定、バリデーションのルールは最初から明示すべきだ
- VBAのバグはゼロではないが、エラーをそのままClaudeに投げれば修正コードが返ってくるという運用が成立する
- 記事末尾には今回使用したプロンプト全文が掲載されており、そのままコピーして自分のプロジェクトに転用できる
VBAを一から書けるエンジニアにとっては「時短ツール」として使える水準だが、VBAに不慣れな担当者にとっては、エラーが出たときに何が起きているかを判断する最低限の知識は必要になる。VBAの基礎についてはMicrosoft公式のVBA入門ドキュメントも参照されたい。
詳細はI asked Claude to build 3 Excel automationsを参照していただきたい。