Blog ブログ

FIVE

ChatGPTを使って知識ゼロからExcelマクロを作成する

2023.08.18



ChatGPT、使ってますか?

2022年の年末頃から話題になり始め、今ではかなり浸透したツールになっている会話型AIのChatGPTですが、


・最初は使ってみたけど結局使わなくなった・・

・AIが求める答えを出してこないから自分で調べた方が早い

みたいな感想のまま今では使わなくなってしまった人も多いのではないでしょうか?

適切な命令方法(プロンプト)の書き方みたいな所はネット上に膨大な数があるので、今回は私が日常業務で利用した内容を紹介したいと思います。

余談ですが、ChatGPTに対する命令方法は株式会社noteの深津貴之さん考案の「深津式プロンプト」が個人的にはわかりやすく、私もこのプロンプトを念頭に入れて利用しています。

ご興味がある方はご本人が解説しているこちらの動画を見てみてください

レポート作成時短の為のVBA作成

日々のレポートをExcelで作成する場合ですが、
提出した後にExcelの誤操作で数値が変わってしまわないようにCSVデータから抽出し、数式で反映した各数値を「値貼り付け」する作業が弊社の場合だとあります。

タブ数の少ないレポートであれば作業時間も少なくミスもほぼないのですが、複数媒体の配信でタブ数が増えてくると値貼り付け忘れなど、ヒューマンエラーがどうしても発生しがちだった為にこの作業を自動化できないか?ということでChatGPTを利用しました。

やりたい事と自分の知識量

・Excelのマクロ/VBAを使えばなんとなくできるであろうことだけは理解している

・ただ作成方法やコードの書き方は一切把握してない状態

この状態でChatGPTを使ってマクロを作成していきます。

実際にやってみた

まずは自分のやっている事とやりたい事をChatGPTに伝えました。

回答結果は以下のようになりました。

今回はマクロの作成手順や登録手順は質問に含んでいなかったのですが、AIが意図を組んでくれたのか手順も合わせて答えてくれました。

実際にAIが書いてくれたコードは以下のものとなります。

Sub 値のみ貼り付け()

Dim ws As Worksheet
Dim rng As Range

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

For Each ws In ThisWorkbook.Worksheets
For Each rng In ws.UsedRange
If rng.HasFormula Then
rng.Value = rng.Value
End If
Next rng
Next ws

Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True

End Sub

このコードを使って実際に自分でExcelレポート内にマクロを作成/実行していきます。

一例で、年齢別のレポートのタブがあるのですが、表示回数の所にカーソルを合わせるとSUMIFS関数でCSVデータから18~24才の数値を合計しています。

今回の希望はこの数式を自動で値貼り付けする事なので、先ほどAIが記載してくれた手順でマクロを作成していきます。

1.Excelを開き、Alt + F11キーを押して、VBAエディタを開きます。
2.左側の「VBAProject」の中にある「ThisWorkbook」をダブルクリックして開きます。
3.以下のコードをペーストしてください。

上記の3まで実行したのが写真の状態です。

その後、ChatGPTの指示通りF5キーを押し、実行すると数式が値(数字)に変わりました!

他の指標やタブについても全て数式から値貼り付けになっていたので、今回のAIからのコードは問題ない結果になりました。

こちらからの質問の意図がくみ取れない場合やAIと齟齬がある場合は上手くいかない場合も当然あるので、1度で希望する動作を教えてもらえたのはラッキーだったかもしれません。

ただ、希望する動作自体はこれで問題なかったのですが、私のマクロに対する知識が乏しかったので他にも確認しなければならない事が発生しました。

・このマクロの保存場所
・その保存されたマクロを次に実行する方法

これくらいであれば自分で調べた方が早い可能性もあるのですが、そのままAIに質問しました。

その際の回答は以下のようになっています。

2.以降のビュータブをクリックからいまいちピンとこなかったので別途自分で確認はしたのですが問題なく保存→保存後のマクロを実行することができるようになりました。

終わりに

今回AIと作成したマクロ自体は触れる人からすると非常に簡単なもので、こんな事はAIを使わなくてもいいというような内容かもしれないのですが、

Excelマクロの知識が全く無い状態からすぐ作成することができ、その後の業務時短に使えた為にこのマクロ作成は当たりだったと思います。

現在だと他には

・広告文作成の雛形作成(複数パターンを作らせてそこからいい所だけを抽出する
・キャッチコピーの雛形作成や文章リライトの雛形作成
・こちらの希望を出した状態の複数単語の翻訳
・業界の包括的な部分の分析

等に利用しています。

今のChatGPTだと、最終的にはまだ人間の手で修正することが基本的には必須な為、

・普遍的なもの
・とりあえず案だけ欲しいもの

が欲しいときに使うようにしています。

ちょっとした雑務や作業を時短したい時、もしかしたらAIが役に立つかもしれません。

是非役立ててみてください!