毎回同じ手順で行っているExcel作業を自動化したいと思っても、VBAのコードを一から書くのはハードルが高く感じられます。この記事では、ChatGPTを使ってExcel VBA・マクロを作る方法を解説します。作る前の準備から、自動化したい作業を手順に分ける方法、コード作成の依頼方法、安全に試す手順、エラー修正の進め方、そして運用前に確認すべきポイントまで、順を追って紹介します。
VBAはファイルの内容を直接書き換える処理を含むため、他の活用場面以上に、安全に試しながら進める姿勢が重要になります。
ChatGPTでExcel VBA・マクロを作る前の準備
コードの作成を依頼する前に、いくつかの準備を済ませておく必要があります。
マクロで自動化する作業を一つに絞る
最初から複数の作業をまとめて自動化しようとせず、対象とする作業を一つに絞ります。作業を絞ることで、コードの内容もシンプルになり、後の確認や修正がしやすくなります。
対象ブック・シート・セル範囲を確認する
自動化の対象となるブック、シート、セル範囲を確認します。対象範囲を明確にしておくことで、ChatGPTへコード作成を依頼する際に、具体的な指示を伝えやすくなります。
元ファイルをバックアップする
VBAコードを試す前に、必ず元のファイルのバックアップを取ります。VBAはファイルの内容を直接変更する処理を含むため、想定外の動作によってデータが失われるリスクに備えておくことが欠かせません。
自動化したいExcel作業を手順に分ける方法
コードを依頼する前に、自動化したい作業を具体的な手順に分解しておきます。
手作業の操作を発生順に書き出す
普段手作業で行っている操作を、実際に行っている順番で書き出します。操作の順番を正確に伝えることで、ChatGPTがその流れを再現するコードを作成しやすくなります。
入力条件と期待する結果を明確にする
どのような条件のときに、どのような結果を得たいのかを明確にします。「特定の条件を満たす行だけを抽出したい」のように、入力条件と期待する結果をセットで伝えることで、意図に合ったコードを作成しやすくなります。
例外になるケースを洗い出す
通常の流れとは異なる、例外的に発生するケースがないかを洗い出します。例外ケースを事前に伝えておくことで、そのケースにも対応したコードを作成してもらいやすくなり、後から想定外のエラーが発生するリスクを減らせます。
ChatGPTへVBAコード作成を依頼する方法
手順の整理ができたら、実際にChatGPTへコード作成を依頼します。
Excelの構成と処理手順を具体的に伝える
対象のExcelファイルの構成と、整理した処理手順を具体的にChatGPTへ伝えます。シート名や列の位置なども含めて伝えることで、実際の環境に即したコードを作成しやすくなります。
コード内にコメントを付けるよう指定する
コードの各部分が何をしているのかが分かるよう、コメントを付けて出力するようChatGPTに指定します。コメントがあることで、後から自分でコードを見直す際にも内容を把握しやすくなります。
不明な処理を説明させてから実行する
生成されたコードの中に、内容がよく分からない処理がある場合は、実行する前にその部分の説明を求めます。理解しないまま実行すると、意図しない動作が起きた際に原因を特定しにくくなるため、この確認を省略しないようにします。
生成されたVBAコードを安全に試す手順
コードが完成したら、いきなり本番環境で使うのではなく、安全な手順で試します。
コピーしたテストファイルで実行する
元のファイルとは別に、コピーしたテスト用のファイルでコードを実行します。テストファイルで動作を確認することで、本番のデータに影響を与えることなく、コードの挙動を確認できます。
処理を小さな単位に分けて動作確認する
複数の処理をまとめて実行するのではなく、小さな単位に分けて、一つずつ動作を確認しながら進めます。段階的に確認することで、問題が発生した場合にも、どの処理が原因かを特定しやすくなります。
変更されたセルやファイルを確認する
コードを実行した後、実際にどのセルやファイルが変更されたかを確認します。意図した箇所だけが変更されているか、想定外の箇所に影響が及んでいないかを、実行のたびに確認する習慣をつけます。
VBAのエラーをChatGPTで修正する方法
コードを実行してエラーが発生した場合の対処方法を確認します。
エラーメッセージと該当コードを伝える
表示されたエラーメッセージと、エラーが発生した箇所のコードを、あわせてChatGPTに伝えます。正確な情報を伝えることで、原因の特定と修正案の提示がスムーズに進みます。
エラーが起きる操作手順を説明する
エラーが発生するまでに行った操作の手順を説明します。どのような状況でエラーが起きるのかを伝えることで、単なるコードの誤りだけでなく、操作の流れに起因する問題にも気づきやすくなります。
修正版の変更点を確認して再テストする
修正されたコードを受け取ったら、元のコードからどこがどう変わったのかを確認します。変更点を理解したうえで、再びテストファイルで動作を確認してから、次の工程に進みます。
定型処理を実務で使えるマクロへ整える方法
動作確認ができたコードを、実務で継続的に使えるマクロへ整えていきます。
固定値を変更しやすい形に整理する
コードの中に固定された値が含まれている場合、後から変更しやすい形に整理するようChatGPTに依頼します。値が変わるたびにコード全体を書き換える必要がないよう、変更しやすい部分をまとめておくと、運用の手間を減らせます。
対象範囲が変わっても動く条件を確認する
データの件数や範囲が変わった場合でも、正しく動作するかを確認します。特定の行数を前提にしたコードは、データ量が変わると正しく動かなくなることがあるため、範囲が変化しても対応できる条件になっているかを確認します。
誤操作時に影響が広がらない処理にする
誤って想定外の操作を行った場合でも、影響が広範囲に及ばないようなコードになっているかを確認します。実行前に確認メッセージを表示させるなど、誤操作を防ぐ工夫についてもChatGPTに相談しながら組み込みます。
ChatGPTで作ったVBAを運用する前の確認ポイント
実務での運用を始める前に、最終確認を行います。
意図しない削除・上書き処理がないか確認する
コードの中に、意図しないデータの削除や上書きを行う処理が含まれていないかを確認します。特に、既存のデータを一括で書き換えるような処理は、実行前に内容を入念に確認することが重要です。
外部ファイルやネットワークへの処理を確認する
コードが、対象のファイル以外の外部ファイルや、ネットワークに関わる処理を含んでいないかを確認します。想定していない範囲まで処理が及ぶコードは、意図しない影響を招く可能性があるため、この点を必ずチェックします。
実運用前に複数パターンで結果を検証する
実際の運用を始める前に、複数のパターンのデータでコードを実行し、結果を検証します。一つのパターンだけで確認して安心するのではなく、通常のケースと例外的なケースの両方で動作を確かめてから、本番環境での利用を開始します。
なお、VBAにこだわらず自動化する方法としてPythonを使う選択肢もあります。デイトラのPythonコースは業務の自動化を対象に掲げ、Excelにまとめる作業の自動化を学習の目的として示しています。教材は買い切りで99,800円(税込)、購入後の閲覧期限はありません。ただしVBAそのものを扱う講座ではないため、既存のVBAを読み解けるようになりたい場合には向きません。
まとめ
ChatGPTでExcel VBA・マクロを作るには、自動化する作業を一つに絞り、対象範囲を確認し、元ファイルをバックアップすることが出発点になります。手作業の手順と期待する結果、例外ケースを整理してChatGPTへ伝え、コメント付きのコードを作成してもらったうえで、テストファイルで小さな単位から動作確認を行います。エラーが出た場合はエラーメッセージと操作手順を伝えて修正し、実務で使えるマクロへ整えたあとも、意図しない削除や上書きがないか、複数パターンでの検証を行ってから運用を開始してください。Excel業務全体の効率化は、AIでExcel業務を効率化する方法で解説しています。
よくある質問
Q. VBAの知識がなくてもコードを作ってもらえますか。
自動化したい作業を手順として具体的に伝えれば、VBAの知識がなくてもコードのたたき台を作成してもらえます。ただし、実行前には必ずテストファイルで動作を確認してください。
Q. コードを実行してファイルの内容が変わってしまいました。元に戻せますか。
事前にバックアップを取っておけば、バックアップファイルから元の状態に戻せます。バックアップを取らずに本番ファイルで実行することは避けてください。