皆さんChatGPTをご存知でしょうか。
ChatGPT(Conversational Generative Pre-trained Transformer)は、OpenAIが開発した自然言語処理モデルの一つです。
ユーザーが入力した質問に対して人間のように自然な会話を行うことができるよう設計されています。
このChatGPTに、マクロを作ってもらえるのです!
私は私はまだまだVBA勉強中の身。
こういうことをマクロにやってもらいたい。
こういうことをマクロで自動化したいと思っていても、自分でプログラムを書くことができない…
ネットで調べてもいまいちよくわからない…
でも、そこであきらめてはいけません。

それChatGPTが作れるかもしれませんよ!
ChatGPTに聞いてみる:どう質問したか
作りたかったマクロはこんな感じです。
- 列をコピーする。
- 列の最初の行に入力されている部品番号を取得する。
- 別のセルの範囲の中から、同じ部品番号を探す。
- 同じっ部品番号の列にコピーした列をペーストする。
予定表のデータをExcelに直接貼り付けて表に反映するように関数を組んでいます。
毎日変更があった部品のみデータが送られてきます。
これを今までは変更があった部品の行をコピーして、Excelの表に反映されている列に部品番号を選んで貼り付けると言うやり方をとっていました。

この方法を手動でするのは手間ですし、部品番号を間違えて貼り付けてしまうと言うことが起きてしまいます。
ChatGPTに質問してみました。
まず、下のように質問しました。
Excelマクロを作って
・行34をコピー
・セルA34の値を取得
・セルA26からA29のなかからA34と同じ値を探して、貼り付ける
ChatGPTからは下記の通り回答が来ました。

こちらのコードはコピー&ペーストすることができます。
いったんこのマクロが希望通り動くかExcelで試します。
うまくいかなくても、何度か同じ質問をしてみたり、内容を変えて質問するといろんな答えが返ってきます。
希望通りの動きをするコードが返ってきたため、次に追加でやってほしい質問をしました。
上記のことを行35から37まで繰り返す

冒頭の部分は1回目に生成してもらったコードと一緒だったので、必要な部分のみコピーします。

1回目に生成してもらったコードの下に貼り付けます。


希望通り動くマクロを作ることができました。
まとめ
今回、ChatGPTに質問をしてみましたが、実はなかなか希望通りの回答が返ってこず、15分ほど質問を変更したり試行錯誤しておりました。
半ば諦めてきたところに、やっと希望通りの答えが返ってきて無事マクロを組むことができました。
ちまたには、ChatGPTに聞くためのプロンプト等いっぱい出ております。
希望に沿った回答をもらうためには、ChatGPTへの質問力と言うのも必要なんだなと感じました。
とても便利なツールなので、いろいろ実際に自分で触ってみて活用していこうと思います。

