以前このブログでは、
という記事を書きました。
そのときの結論はかなりシンプルで、
Excel VBAの高度な処理はChatGPTの方が強い
というものでした。
ですが、最近仕事で ChatGPT と Microsoft Copilot の両方を日常的に使っている中で、少し印象が変わってきました。
特に差を感じたのは、次の2つのケースです。
-
すでに存在する大型Excel VBAツールの修正
-
完全新規の大型Excel VBAツールの設計と作成
今回は、その実体験を紹介します。
結論を先に言うと、
小さい処理はChatGPT
大きい構造はCopilot
という印象に変わってきました。
ただしこれは現時点の体感なので、生成AIの進化次第でまた変わると思います。
ケース1:すでに完成している大型Excel VBAツールの修正
まず試したのは、すでに完成しているVBAツールの修正です。
このツールは、
-
複数のユーザーフォーム
-
データベース型の構造
-
モジュール多数
-
数千行レベルのコード
という、わりと大きなVBAツールです。
ChatGPTに依頼してみた
まずはChatGPTに依頼しました。
利用者 → ChatGPT
既存のExcel VBAツールを修正したいです。
複数フォームを持つデータベース型ツールです。 以下が現在のベースコードです。 (全VBAコード貼り付け) このツールに次の機能を追加してください。 ・登録データの履歴管理
・編集ログの保存
・ユーザー別アクセス制御 (それぞれ詳細の説明付きの文章をつけています。)

ChatGPT → 利用者
ありがとうございます。コードを確認させていただきたいのですが、
現在のツール全体の構造を把握するために、以下の情報を追加で共有していただけますでしょうか。 1.標準モジュールの一覧と内容 2.ユーザーフォームの構成 3.各フォームが呼び出している主なプロシージャ 4.データ保存先(シート・外部ファイルなど) 現在共有されているコードだけでは、ツール全体の構造を正確に理解することが難しいため、
まずは全体の構成を確認させていただければと思います。
利用者 → ChatGPT
ユーザーフォーム、標準モジュール全てのコードは1回目に送っているし、フォーム名、オブジェクト名も送っているのに・・・と思いつつ再度全コードを送りました。
全モジュールコードです。 (全VBAコード貼り付け)
ChatGPT → 利用者
コードを確認しました。
かなり大きな構造のVBAツールになっているため、
一度にすべての修正コードを作成することは難しい可能性があります。 まずは以下のプロシージャから確認させてください。 ・InitializeDatabase
・LoadUserData
・SaveRecord これらの処理内容を整理しながら、
段階的に修正案を提示していきます。
この時点で、私は少し時間を感じました。
ChatGPTは、非常に丁寧に構造理解をしようとするタイプです。
ただしその分、
完成までのやり取り回数が増えやすい
という特徴があります。
無料版を使用している私は、やりとりの回数を増やしたくありません。
Copilotに同じ依頼をしてみた
次にCopilotに同じ依頼をしました。
利用者 → Copilot
既存のExcel VBAツールを修正したいです。
複数フォームを持つデータベース型ツールです。 以下が現在のベースコードです。 (全VBAコード貼り付け) このツールに次の機能を追加してください。 ・登録データの履歴管理
・編集ログの保存
・ユーザー別アクセス制御 (それぞれ詳細の説明付きの文章をつけています。)
Copilot → 利用者
コードを確認しました。
現在のツールは、以下の構造で構成されていると判断しました。 ■推定構造 ・ユーザーフォーム
UserForm_Main
UserForm_Edit
UserForm_Search ・主要モジュール
modDatabase
modUserManagement
modUtility ・データ保存
Worksheet「Database」 この構造を前提として、
以下の3つの機能追加を行います。 1.履歴管理テーブル 2.編集ログ保存機能 3.ユーザー権限制御 以下に修正コードを提示します。 (修正コード/プロシージャ別)
一括で修正コードが送られてきました。
しかも特徴的だったのが、
-
修正箇所説明
-
注意点
-
コピー範囲
がプロシージャ毎に簡潔に書かれていたことです。
Copilotの特徴:差分修正
Copilotはよく
差分修正
という形でコードを提示してきます。
つまり、
以下を既存コードに追加してください
という形です。
ただ、私には追加位置がわからないことがよくあります。
なので私は途中でこう頼みました。
利用者 → Copilot
差分だと理解できないので
プロシージャ全体のコードを出してください。
Copilot → 利用者
了解しました。
以下に修正後のプロシージャ全体を提示します。 (VBAコード全文)
この対応も非常にスムーズでした。
ケース2:完全新規の大型Excel VBAツール
次に試したのが 完全新規の大型Excel VBAツール作成 です。
今回のツールは
-
顧客管理
-
履歴管理
-
検索
-
編集
を持つ、比較的大型のデータベースツール です。
ChatGPTに依頼
利用者 → ChatGPT
Excel VBAで顧客管理ツールを作りたいです。 必要な機能 ・顧客登録
・検索
・履歴管理
・編集ログ (それぞれ詳細の説明付きの文章をつけています。) ユーザーフォームで操作できるようにしたいです。 ツール全体の構造とコードを作ってください。
ChatGPT → 利用者
ありがとうございます。
ご要望のツールは、複数のフォームとデータ管理処理を持つ、比較的規模の大きなVBAアプリケーションになると考えられます。 そのため、いきなりすべてのコードを生成するのではなく、
まずは以下の点を確認させてください。 1.データ保存先(シート構造) 2.顧客データ項目 3.履歴管理方式 4.編集ログ保存方法 これらを決めたうえで、
ツール設計 → モジュール設計 → コード作成
という順序で作成することをおすすめします。
初回のプロンプトで、オブジェクト構成や詳細の仕様を送ったつもりでしたが、まだまだすり合わせが必要なんだと感じました。
正しい進め方なのはわかっているのですが、どのくらいやりとりが必要になるのだろう・・・と不安になります。
何度かやりとりを終えたところで、次の回答が出ました。
ChatGPT → 利用者
申し訳ありません。
現在の情報だけでは、ツール全体のコードを一度に生成することが難しいため、 段階的に設計を進める必要があります。
ここで私は、Copilotでも試してみることにしました。
Copilotに依頼
利用者 → Copilot
Excel VBAで顧客管理ツールを作りたいです。 必要な機能 ・顧客登録
・検索
・履歴管理
・編集ログ (それぞれ詳細の説明付きの文章をつけています。) ユーザーフォームで操作できるようにしたいです。 ツール全体の構造とコードを作ってください。
Copilot → 利用者
了解しました。 以下の構造でExcel VBAツールを構築することを提案します。 ■ツール構造 1.UserForm_Main メニュー画面 2.UserForm_Register 顧客登録画面 3.UserForm_Search 顧客検索画面 4.UserForm_History 履歴確認画面 ■モジュール modDatabase
modCustomer
modHistory
modLog ■シート構成 CustomerData
HistoryData
EditLog 以下に各モジュールとフォームの基本コードを提示します。 (全コード/プロシージャ別)
ここから、全体コードが一気に提示されました。
しかも
-
プロシージャ単位
-
モジュール単位
-
説明付き
で整理されていました。
現時点で感じた違い
今回の体験から感じたのは、ChatGPTとCopilotの思考スタイルの違いです。
ChatGPT
-
設計を丁寧に確認
-
小さく進める
-
会話回数多め
Copilot
-
構造を推測
-
全体を提示
-
後で調整
という印象です。
初心者にはどちらがいい?
これは難しいところです。
初心者の場合、ChatGPTの方が理解しながら進められるというメリットがあります。
一方、ある程度の規模のツールを作る場合、Copilotの全体構造を一気に作る力はかなり便利でした。
まとめ
以前このブログでは、Excel VBAの高度な処理はChatGPTの方が向いていると書きました。しかし、最近仕事でChatGPTとCopilotを併用する中で、少し印象が変わってきました。
特に、大規模なVBAツールを扱う場合には、それぞれのAIの考え方の違いがはっきり表れるように感じます。ChatGPTはツール全体の構造を丁寧に確認しながら進める傾向があり、設計を一つ一つ整理しながら作りたい人には非常に向いています。一方で、その分やり取りの回数が増えやすく、完成までに時間がかかることがあります。
Copilotはそれとは少し違い、コードを見た瞬間に全体構造を推測し、一気にコード案を提示してくることが多い印象です。もちろんその内容が完璧というわけではありませんが、全体の骨格がすぐに手に入るため、そこから修正していく作業はかなり効率的でした。
そのため現時点の私の体感としては、初心者がVBAを学びながら作る場合はChatGPTの方が理解しやすく、ある程度の規模のツールを作る場合にはCopilotの方が扱いやすい場面も多いと感じています。
ただし、生成AIは非常に速いスピードで進化しています。数か月後には、また全く違う印象になっている可能性も十分にあります。
だからこそ、どちらか一つに決めるのではなく、状況によって使い分けるという視点が、これからのAI活用では大事になってくるのかもしれません。
リンク
ChatGPTでExcel VBAマクロを自動生成してみた|初心者でも使える実践手順
Excel VBAのエラー修正をChatGPTに頼んだら原因が一発で分かった話
仕様が曖昧でもOK?ChatGPTにExcel VBAを作らせてみた結果
ChatGPTに作らせたExcel VBAコードは安全?使う前に確認すべきポイント
Excel VBA初心者がChatGPTを使うと挫折しにくくなる理由
CopilotでExcel作業はどこまで効率化できる?実務で使ってみた結果
Copilotに仕事を任せてみた|メール・資料作成はここまで楽になる
Copilotが向いている人・向いていない人を実体験から整理してみた
ChatGPT・Copilot・Geminiに同じ仕事を頼んだら結果が全然違った
結局どれを使えばいい?目的別に生成AIを整理してみた【初心者向け】
初心者が最初にやるべき生成AI活用① ChatGPTで「長文を理解・整理する」読むのがしんどい人ほど効果が出る使い方
初心者が最初にやるべき生成AI活用②ChatGPTに「分からないことをそのまま相談する」使い方・聞き方を気にしない安心感
初心者が最初にやるべき生成AI活用③AIを「自分専用の調べ物係」にする使い方|検索に疲れた人ほど効果が出る
ChatGPTにブログ記事を“赤ペン先生”してもらったら修正力がすごかった話―書くのが苦手な人ほど使ってほしい文章改善―
CopilotでExcel作業手順書を一瞬で作る|引き継ぎ資料が秒で完成した話
Geminiでアイデアが枯れたときの発想復活法|何も思いつかないを脱出する使い方
ChatGPT・Copilot・Geminiをブレスト役で使い分ける実例|発想が加速した方法
CopilotでExcel集計→Word報告書を一気に作る実務フロー― 月次報告が“考えずに終わる”ようになった話 ―
大型Excel VBAはChat-GPTよりCopilotの方が作りやすい?実務で感じた変化












