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でExcelマクロのVBAコードを作成する

ここでは例として、Excelで作成した社員名簿の表について「記載されたパスワード更新日が指定日以前だった場合、その行をグレーアウトする」ためのVBAコードを作成します。手順3以降の画面にあるようなExcelの表を用意したうえで、列名やセル番地を読み替えてChatGPTに指示すれば、同様のVBAコードを生成可能です。

1ChatGPTの質問文を入力する

【ChatGPT文例集】ExcelマクロのVBAコードを作成。目的の処理を指示するだけで業務の自動化を実現できる!

ChatGPTにログインしたら、以下のような質問文を入力して[Send message](送信)ボタンをクリックします。

Excelのsheet1に社員名簿のデータがあります。項目はA列からI列にかけて、姓、名、姓(フリガナ)、名(フリガナ)、部署名1、部署名2、役職名、メールアドレス、パスワード更新日の順です。A2セルから下の行にデータが入力されており、この中でI列のパスワード更新日が2023/3/31以前になっている行をグレーアウトさせるためのVBAコードを作成してください。

HINT質問文の中で改行するには?

ChatGPTのメッセージボックス内で[Enter]キーを押すと質問文が送信されますが、[Shift]+[Enter]キーを押すと質問文の中で改行できます。

2生成されたVBAコードをコピーする

【ChatGPT文例集】ExcelマクロのVBAコードを作成。目的の処理を指示するだけで業務の自動化を実現できる!

Excelマクロ用のVBAコードが生成されました。ChatGPTは、まったく同じ質問でも毎回若干異なる回答を表示しますが、今回はVBAコードの使用方法まで記載してくれています。Excelのマクロ機能で使用するために、右上の[Copy code]ボタンをクリックし、表示されたVBAコードをコピーします。

3ExcelでVBAコードの入力画面を開く

【ChatGPT文例集】ExcelマクロのVBAコードを作成。目的の処理を指示するだけで業務の自動化を実現できる!

Excelの画面に切り替えます。続いて、[開発]タブの[Visual Basic]をクリックします。

4生成されたVBAコードをペーストする

【ChatGPT文例集】ExcelマクロのVBAコードを作成。目的の処理を指示するだけで業務の自動化を実現できる!

VBAコードの入力画面が表示されました。先ほどコピーしたVBAコードをペーストします。

5作成したVBAコードを実行する

【ChatGPT文例集】ExcelマクロのVBAコードを作成。目的の処理を指示するだけで業務の自動化を実現できる!

[開発]タブの[マクロ]をクリックしてマクロの管理画面を開いたら、作成したマクロを選んで[実行]をクリックします。

6グレーアウトされるかを確認する

【ChatGPT文例集】ExcelマクロのVBAコードを作成。目的の処理を指示するだけで業務の自動化を実現できる!

パスワード更新日が2023/3/31以前になっている行がグレーアウトされました。この状態では、当初の意図通りに動作しているように見えます。

7更新日を書き換えてマクロの動作を確認する

【ChatGPT文例集】ExcelマクロのVBAコードを作成。目的の処理を指示するだけで業務の自動化を実現できる!

本当に意図通りの動作をしているかを確認するため、パスワード更新日を2023/3/5から2023/7/5に書き換えて、再びマクロを実行してみました。すると、セルの背景色がグレーアウトしたままの状態でした。そこでChatGPTに対して、マクロの再実行で2023/4/1以降と判断された場合は、グレーアウトなしに戻すようにVBAコードの修正を依頼します。

8VBAコードの修正を依頼する

【ChatGPT文例集】ExcelマクロのVBAコードを作成。目的の処理を指示するだけで業務の自動化を実現できる!

ChatGPTの画面に切り替えます。続いて、先ほどの質問・回答に続けるかたちで以下の質問文を入力し、[Send message](送信)ボタンをクリックします。

パスワード更新日を更新し、再びマクロを実行してもグレーアウトされた部分が元に戻りません。マクロの再実行で2023/4/1以降と判断された場合、グレーアウトなしに戻すようVBAコードを修正してください。

9修正されたVBAコードをコピーする

【ChatGPT文例集】ExcelマクロのVBAコードを作成。目的の処理を指示するだけで業務の自動化を実現できる!

修正後のVBAコードが表示されたら、右上の[Copy code]ボタンからコピーします。

10VBAコードを編集する

【ChatGPT文例集】ExcelマクロのVBAコードを作成。目的の処理を指示するだけで業務の自動化を実現できる!

Excelの画面に切り替えます。続いて、先ほどと同様に[マクロ]からマクロの管理画面を開き、修正するマクロを選んで[編集]をクリックします。

11生成されたVBAコードをペーストする

【ChatGPT文例集】ExcelマクロのVBAコードを作成。目的の処理を指示するだけで業務の自動化を実現できる!

修正したVBAコードをペーストします。

12修正したVBAコードを実行する

【ChatGPT文例集】ExcelマクロのVBAコードを作成。目的の処理を指示するだけで業務の自動化を実現できる!

マクロ]からマクロの管理画面を開き、修正したマクロを選んで[実行]をクリックします。

13実行結果を確認する

【ChatGPT文例集】ExcelマクロのVBAコードを作成。目的の処理を指示するだけで業務の自動化を実現できる!

パスワード更新日を2023/7/5に書き換えた行のグレーアウトが解除されました。これで意図通りの動作をするVBAコードを作成できました。

このように、ChatGPTはExcelマクロのVBAコードを作成したいときにも活用できます。今回のように動作が不十分だったり、エラーが表示されたりした場合は、前の質問・回答に続けるかたちで修正指示をすることで、意図通りの動作をするようにコードを修正していくことも可能です。

関連まとめ記事