【Codex】ExcelのユーザーフォームをAIで作る方法|実際に動くフォームを作った話

AI

Excelのユーザーフォームって、なんとなく「VBAが分かる人しか触れない世界」というイメージがありませんか。
私もそう感じていたのですが、今回Codexに相談しながら進めたところ、実際に動く顧客登録フォーム付きのExcelファイルを作るところまでいけました。

最終的には、Excel上のボタンからフォームを開いて、入力した内容をSheet1へ追記できる形まで完成しました。

 

最初にChatGPTへ聞いたこと

実は最初からいきなりCodexで進めたわけではなく、先にChatGPTへ「ユーザーフォーム入りのファイルって作れたりするの?」と聞いていました。

その返答はかなり現実的で、

  • フォームのレイアウト案は作れる
  • 部品構成やVBAコードも作れる
  • 既存ファイルへの機能追加はやりやすい

という一方で、
「ユーザーフォーム本体を含む完成済みの .xlsm をゼロから安定して生成するのは難しい」
とも説明していました。

つまり、AIが得意な部分は多いけれど、Excel側に先に土台があった方が進めやすい、という事でした。

▼ChatGPTとのやりとり

 

先に準備しておくのがかなり大事

そのうえで提案されていたのが、
空のマクロ有効ブック(.xlsm)を先に用意して、その中に空のユーザーフォームも作っておく
という進め方でした。

今回も先に空の `test.xlsm` を用意し、その中に空のユーザーフォームも作ってから、そこに対してCodexがフォームやVBAコードを入れていく形にしました。

実際にやってみると、これは「あると便利」ではなく、かなり重要でした。
空のマクロファイルやフォームの土台がない状態では、codexでいろいろエラーが出て止まってしまいました。
でも、ファイルを用意した後は止まらず、一気に仕上げてくれました

少なくとも今回の時点では、ユーザーフォーム入りのマクロファイルを作りたいなら、この準備はほぼ前提だと感じています。

▼マクロファイルを作成しておく

▼空のユーザーフォームを作成しておく

 

今回できたこと

今回作れたのは、顧客登録用のユーザーフォームです。

Codex側からも、たとえば
「会社名、担当者、電話、メール、ステータスを入力して、Sheet1に追記するようなフォームなら作れる」
という形で、実装イメージを具体的に提案してくれました。

フォームには次の5項目を用意しました。

  • 会社名
  • 担当者
  • 電話
  • メール
  • ステータス

登録ボタンを押すと、内容がSheet1の末尾に1行ずつ追加されます。
Excelの一覧シートはそのまま使いながら、入力の入り口だけをユーザーフォームにできた形です。


 

途中で必要だったExcelのオプション設定

今回、完全自動で一発成功というわけではありませんでした。
途中でCodex側から「この設定を有効にしないと先へ進めない」と案内があり、そこでExcel側のセキュリティ設定を変更しました。

Codexから案内されたのが、次の設定です。

  • ファイル → オプション
  • トラスト センター → トラスト センターの設定
  • マクロの設定
  • 「VBA プロジェクト オブジェクト モデルへのアクセスを信頼する」にチェック

この設定がオフのままだと、CodexがフォームやVBAコードを書き込めず、その先へ進めませんでした。
また、保存形式も通常の .xlsx ではなく、マクロ有効ブック(.xlsm) にしておく必要がありました。


 

完成したフォームの動き

完成したExcelでは、Sheet1に「顧客登録フォームを開く」ボタンを配置しました。
そのボタンを押すとユーザーフォームが開きます。

入力後に登録ボタンを押すと、

  • 会社名が空欄なら警告
  • メールアドレスの形式が不自然なら警告
  • 問題なければSheet1の末尾へ追記

という流れで動きます。
「フォームから入力して、一覧シートに蓄積する」という、いかにも業務で使いやすい形まで持っていけたのはかなり感動しました。

もちろん、出来上がりを見てみると、ユーザーフォームの文字配置などは少し手で微調整したくなる部分もありました。
今回も「機能はちゃんと動くけれど、見た目はあと少し整えたい」という箇所はありました。

でも逆に言うと、少しの手作業で仕上げられるところまでAIが土台を作ってくれた ということでもあります。
ゼロから全部自分でVBAを書くことを思えば、これはかなり大きいと感じました。

▼Codexが作ったユーザーフォーム

▼ユーザーフォームからデータ登録もできました!

 

今回やってみて分かったこと

今回の体験で一番大きかったのは、自分でVBAをゼロから組まなくても、作りたいものを言語化できればかなり先まで進める ということです。

もちろん、Excelの内部仕様やセキュリティ設定まで全部ノーヒントで終わるわけではありません。
でもCodexは単にコードを出すだけではなく、

  • 今どこで止まっているのか
  • 次に人間が何をすればいいのか
  • どの設定が必要なのか

を整理しながら進めてくれました。

この「一緒に詰まりどころを越えていける感じ」は、ただVBAのサンプルコードを検索するのとはかなり違います。
しかも、最後に少し見た目を整えるだけで実用レベルまで持っていける ので、「全部を完璧自動化できなくても十分すごい」と素直に思いました。

 

まとめ

Codexに相談しながら進めた結果、Excelのユーザーフォーム付きファイルを実際に作るところまでいけました。

今回の感覚では、

  • 先に空の .xlsm を用意する
  • 必要なExcel設定だけ人間が整える
  • 実装はCodexに任せる

この流れがかなり強かったです。

完成後に少しだけサイズや配置を手で整える場面はあっても、そこまで含めて十分に実用的でした。
むしろ「少しの手作業でここまでのユーザーフォームができるならすごい」と感じる体験でした。

VBAを全部自分で書き切らなくても、Excelの業務改善をかなり前に進められる時代になってきたのかもしれません。
「こういうフォームが欲しい」が言えるなら、まずはAIに相談してみる価値はかなりあると思います。

 

[最速入門] ChatGPTに任せる Excelマクロ&VBA 面倒なプログラミングは秒で片づけよう

ChatGPTと対話しながら身につける、新しいVBA入門

Excelマクロ・VBAをAIと一緒にラクに習得したいなら、まず読んでおきたい一冊です!


★★★★★ 4.6 ※ Amazonカスタマーレビューより
マクロ記録とChatGPTを組み合わせた学習法が実践的で、すぐ現場で使える
「過不足のない指示」の出し方を学べ、AIとの対話スキルが身につく
変数・条件分岐・ループなどVBAの基礎もしっかり解説されている