今回は入力フォームを自動でクリアするコードをAIに作成してもらいました。
前回作成した案件登録機能では、
・入力フォームへ入力
・ボタンをクリック
・別シートへ転記
という流れになっていました。
そこで今回は、
転記後に入力フォームを自動でクリアする処理
を追加できるのか検証してみました。
今回のテーマ
今回AIへ依頼した内容はこちらです。
【AIへの依頼内容】
案件入力フォームシートのC2~C8に入力されているデータをクリアするVBAコードを作成してほしい。
使用したAIはGeminiです。
VBAコードの結果
Geminiはすぐにコードを作成してくれました。
実際に実行してみると、
✅ 指定セルをクリア
✅ エラーなし
✅ 依頼内容通り
問題なく動作しました。
しかし今回やりたかったのは単独でクリアすることではありません。
前回作成した、
「案件データを別シートへ転記するVBA」
と一緒に実行することです。
そこで、
「このコードを前回の案件登録コードへ統合してほしい」
と依頼しました。

作成されたコードへ差し替えて実行したところ、
こちらも問題なく動作しました。
ボタンを押すと、
① データを登録
② 入力フォームをクリア
まで一度に完了するようになりました。
次はGASでも挑戦
続いて、
「同じ処理をGASでも作成してほしい」
と依頼しました。

GeminiはGASコードも作成してくれたため、
前回のコードを削除して新しいコードへ差し替えました。
保存後、
スプレッドシートのボタンをクリックすると・・・
エラーが発生しました。

なぜエラーになったのか
最初は、
「あれ?コードは問題なさそうなのに・・・」
と思いました。
そこでGASコードを確認すると原因が判明しました。
Geminiが作成した関数名が、
「案件登録」
になっていたのです。
一方、
スプレッドシートに設置していたボタンは、
以前の関数名を実行する設定になっていました。
つまり、
ボタンが存在しない関数を呼び出していた
ためエラーになっていたようです。
解決方法は2つ
今回のケースでは、
対応方法は2つありました。
① ボタン側の実行関数を変更する
② GASの関数名を元に戻す
私は②を選択しました。
関数名を以前の名前へ戻して保存し、
再度ボタンをクリックしたところ、
無事に正常動作しました。
今回学んだこと
今回の検証で感じたのは、
AIが作成したコード自体に問題があるとは限らない
ということです。
今回のエラー原因は、
コードの処理内容ではなく、
関数名が変更されたことによる設定のズレでした。
特にボタンから実行する仕組みを作っている場合は、
マクロ名や関数名を変更すると影響が出る場合があります。
今回のAI評価
| 項目 | 評価 |
|---|---|
| コード品質 | ★★★★★ |
| 実務利用度 | ★★★★★ |
| 初心者向け | ★★★★☆ |
| 総合評価 | ★★★★★ |
コード自体はVBA・GASともに正しく作成されていました。
GASで発生したエラーもコードの問題ではなく、関数名変更によるものでした。
今回の結論
✅ VBAは一発で成功
✅ GASもコード自体は問題なし
✅ 関数名変更によるエラーに注意
✅ ボタン実行型の仕組みでは関数名をなるべく変更しない方が安全
今回の検証を通じて、
コード内容だけでなく、
ボタンとの連携や関数名の管理も重要
ということを学びました。
コードを詳しく見たい方へ
今回使用したコードは解説付きでこちらにまとめています。
▶ VBAで入力フォームを自動クリアするコード(内部リンク)
▶ GASで入力フォームを自動クリアするコード(内部リンク)
次回予告
次回は、
「AIにチェックボックスへチェックしたら別シートへ転記するGASコードを作らせてみた結果」
を検証してみます。
AIがどこまで実務向けの自動化を提案できるのか試してみたいと思います。

コメント