Excel業務の自動化をChatGPTで実現
現在さまざまな分野で注目を浴びている対話型AI「ChatGPT」ですが、「どのように使えばいいのか分からない」という方も多いのではないでしょうか。そこで本記事では、実際のビジネスシーンですぐに役立つ質問文(プロンプト)の例を紹介します。
Excelのマクロは、自動処理によって業務を大幅に効率化できる便利な機能です。さらにVBA(Visual Basic for Applications)コードを使えば、より高度かつ複雑な処理も可能になります。
しかし、中には「VBAコードってどうやって書けばいいの?」「プログラミングの知識がないから......」といった理由で諦めてしまっている方もいるでしょう。
そこで検討したいのが、ChatGPTにExcelマクロのVBAコードを作成してもらうという方法です。ChatGPTを使えば、これらを対話形式で簡単かつスピーディーに作成することが可能になります。
それでは、実際にChatGPTでExcelマクロのVBAコードを作成してもらう流れを見ていきましょう。なお、本記事ではChatGPTの無料版に搭載されている「GPT-3.5」を使用しています。
ChatGPTのWebサイト
ChatGPT: Optimizing Language Models for Dialogue
ChatGPTでExcelマクロのVBAコードを作成する
ここでは例として、Excelで作成した社員名簿の表について「記載されたパスワード更新日が指定日以前だった場合、その行をグレーアウトする」ためのVBAコードを作成します。手順3以降の画面にあるようなExcelの表を用意したうえで、列名やセル番地を読み替えてChatGPTに指示すれば、同様のVBAコードを生成可能です。
1ChatGPTの質問文を入力する
ChatGPTにログインしたら、以下のような質問文を入力して[Send message](送信)ボタンをクリックします。
Excelのsheet1に社員名簿のデータがあります。項目はA列からI列にかけて、姓、名、姓(フリガナ)、名(フリガナ)、部署名1、部署名2、役職名、メールアドレス、パスワード更新日の順です。A2セルから下の行にデータが入力されており、この中でI列のパスワード更新日が2023/3/31以前になっている行をグレーアウトさせるためのVBAコードを作成してください。
HINT質問文の中で改行するには?
ChatGPTのメッセージボックス内で[Enter]キーを押すと質問文が送信されますが、[Shift]+[Enter]キーを押すと質問文の中で改行できます。
2生成されたVBAコードをコピーする
Excelマクロ用のVBAコードが生成されました。ChatGPTは、まったく同じ質問でも毎回若干異なる回答を表示しますが、今回はVBAコードの使用方法まで記載してくれています。Excelのマクロ機能で使用するために、右上の[Copy code]ボタンをクリックし、表示されたVBAコードをコピーします。
3ExcelでVBAコードの入力画面を開く
Excelの画面に切り替えます。続いて、[開発]タブの[Visual Basic]をクリックします。
4生成されたVBAコードをペーストする
VBAコードの入力画面が表示されました。先ほどコピーしたVBAコードをペーストします。
5作成したVBAコードを実行する
[開発]タブの[マクロ]をクリックしてマクロの管理画面を開いたら、作成したマクロを選んで[実行]をクリックします。
6グレーアウトされるかを確認する
パスワード更新日が2023/3/31以前になっている行がグレーアウトされました。この状態では、当初の意図通りに動作しているように見えます。
7更新日を書き換えてマクロの動作を確認する
本当に意図通りの動作をしているかを確認するため、パスワード更新日を2023/3/5から2023/7/5に書き換えて、再びマクロを実行してみました。すると、セルの背景色がグレーアウトしたままの状態でした。そこでChatGPTに対して、マクロの再実行で2023/4/1以降と判断された場合は、グレーアウトなしに戻すようにVBAコードの修正を依頼します。
8VBAコードの修正を依頼する
ChatGPTの画面に切り替えます。続いて、先ほどの質問・回答に続けるかたちで以下の質問文を入力し、[Send message](送信)ボタンをクリックします。
パスワード更新日を更新し、再びマクロを実行してもグレーアウトされた部分が元に戻りません。マクロの再実行で2023/4/1以降と判断された場合、グレーアウトなしに戻すようVBAコードを修正してください。
9修正されたVBAコードをコピーする
修正後のVBAコードが表示されたら、右上の[Copy code]ボタンからコピーします。
10VBAコードを編集する
Excelの画面に切り替えます。続いて、先ほどと同様に[マクロ]からマクロの管理画面を開き、修正するマクロを選んで[編集]をクリックします。
11生成されたVBAコードをペーストする
修正したVBAコードをペーストします。
12修正したVBAコードを実行する
[マクロ]からマクロの管理画面を開き、修正したマクロを選んで[実行]をクリックします。
13実行結果を確認する
パスワード更新日を2023/7/5に書き換えた行のグレーアウトが解除されました。これで意図通りの動作をするVBAコードを作成できました。
このように、ChatGPTはExcelマクロのVBAコードを作成したいときにも活用できます。今回のように動作が不十分だったり、エラーが表示されたりした場合は、前の質問・回答に続けるかたちで修正指示をすることで、意図通りの動作をするようにコードを修正していくことも可能です。