Excelマクロで自動集計!生成AIで業務効率化してみよう!

※当サイトはアフィリエイト広告を利用しています

生成AI

生成AIを使って相談したり、調べたりすることは既に多くの方が体験していると思いますが、いざそれを仕事で活用出来るか、となると中々難しい課題ですよね。

ただ、既に仕事で使っているツールを便利に扱うことは出来ます。
Excelのマクロ機能をVBAコードで動かして、業務効率化を図ってみては如何でしょうか。

「VBA?プログラミングでしょ?ムリムリ..。」

少し前まで、私もそう思っていました。

ところが先日生成AIにお願いしたら、VBAコードを出力してくれて、そのコードをExcelに貼り付けただけできちんと動作したんです!今回は私が実際にやってみた「部品リストからのデータ自動集計」を例に、AIを使ったVBAマクロ活用法を紹介します。

VBAとかマクロって何?

まずはそれぞれの大まかな説明をします。

  • マクロ:Excelの操作を自動で実行する「機能」のこと
  • VBA:そのマクロに命令を伝える「プログラム言語」のこと

家電で例えると、
Excel⇒マッサージ器
マクロ⇒マッサージコース
VBA⇒マッサージコース用のプログラム
のイメージです。

VBAで何種類かのマッサージコースをプログラミングしてインストールし、インストールされたマッサージコースを選択してスタートすると、マッサージ器が動作するということです。

この「プログラミング」はソフトウェア設計者の仕事でしたが、現在は生成AIがプログラムを書いてくれるという、とんでもない時代になりました。

この話をExcelに戻すと、VBAを自分で書けなくても、AIに書いてもらえばいいという話です。

「でもマクロとかVBAなんて知らないけどExcel使ってるよ」って人も沢山いますよね。私もマクロの存在は知ってましたが、必要性すら考えたことがありませんでした。ですが最近会社で開催された「生成AI活用講座」に参加して業務に活用することを考え始めた結果、まず最初に活用できるのがExcelだという結論に至りました。

ぱぴ娘2
ぱぴ娘2

マグロ?

ぱぴ妻
ぱぴ妻

マグロなの?

部品リストからの見積りデータ自動集計

私の部署では購入実績が記載された部品リストを使って見積りをする作業が多くあります。部品リストはcsv形式で保存することが出来るので、そのデータから必要なデータを毎回手作業で加工して見積り依頼をしていました。

見積り案件が多いときは相当な時間が掛かりますし、手動で行うのでミスも起こります。どこでミスをしたのかを探るのも時間が掛かります。そこで見積もり作業をVBAで自動化出来ないかと考え、AI(Gemini)に頼んでみました。

AIへの頼み方

Geminiへの頼み方は「やりたいことを具体的に日本語で説明する」だけで、プログラミングの知識は一切不要です。私が実際に使ったプロンプトのイメージはこんな感じです。

Excelにcsvファイルを読み込むことでファイル内のデータを整理してメーカー別のExcelファイルとして出力することは出来ますか?

Geminiからは「メーカーがどの列にあって、どの列を使用するかを指定してもらえれば、ExcelのVBA(マクロ)で出来ます(実際には色々と丁寧な提案がありましたが、大分省略してます)」と回答がありました。

メーカーはA列にあります。使用する列はA列~E列です。B列の中で同じ品番があった場合は一行にまとめ、まとめた行同士のE列は合計数にして欲しいです。

Geminiからは「分かりました。」と返答があり、条件やロジックを提示した上でVBAコードが出力されました。

出力されたコードの一部

このあと、実際には下記の質問も追加して、全てを把握した感じです💦

VBAコードはどこに貼り付けるんですか?

操作方法を説明してください

全く知識がない状況からはこの頼み方でも結果的に回答が出てきます。ただこの依頼だと回り道をする可能性があるので、本来はきちんとプロンプトを考えた方が良いですが。

コードをExcelに貼り付けて動かす手順

Geminiが出してくれたコードをExcelで動かすには「VBAエディタ」を使います。難しそうに思われますが、操作はとても簡単です。

STEP 1 開発タブを表示する(初回のみ)

  1. Excelのリボンで右クリック
  2. 「リボンのユーザー設定」をクリック
  3. 右側の一覧から「開発」にチェックを入れて「OK」

これで上部に「開発」タブが表示されます。次回からこの操作は不要です。

STEP 2 VBAエディタを開く

「開発」タブ→「Visual Basic」をクリック。(Alt+F11でも開けます。)

開発Visual Basicクリック

STEP 3 コードを貼り付ける

  1. 左側のツリーから対象のブックを右クリック。
  2. 「挿入」→「標準モジュール」を選択。
  3. 右側の白いエリアにAIが出したコードを貼り付け。
  4. 「名前を付けて保存」から「Excelマクロ有効ブック(.xlsm)」を選択して保存。
  5. VBAエディタを閉じ、上書き保存。
挿入標準モジュール
コードを貼り付け
ファイルの種類をマクロ有効ブックにして保存

STEP 4 実行する

「開発」タブ→「マクロ」をクリックし、「実行」をクリック。

これで動きます。簡単ですよね!

※ファイルを開く際に「マクロを有効にする」メッセージが表示された場合は必ずチェックを入れてマクロを有効にした状態で実行して下さい。

⚠️ 保存はマクロ有効ブック形式で

「名前を付けて保存」→ファイルの種類で通常の「.xlsx」で保存するとマクロが有効にならず、コードが消えてしまいますのでご注意ください。

うまく動かないときもAIに聞く

最初の一発で完璧に動くことばかりではありません。エラーが出ることもよくあります。でもそのときもエラーメッセージをそのままAIに貼り付ければ修正してくれます。

💡 エラーが出たときの対処法

さっきのコードを実行したら以下のエラーが出ました。

「実行時エラー ‘9’: インデックスが有効範囲にありません」

このようにエラー文をそのまま貼る(スクショでも可)と、原因と修正版コードを返してくれます。

「VBAが分からないと終了」ではなく、「分からなければAIに聞けばいい」というスタンスでOKです。

ぱぴすけ魔法のプロンプト

VBAコード出力を依頼する際は「出力するコードはコードブロックで出してください」とお願いすると、VBAコードに説明が入って見やすくなり、エラーも少なくなりますので是非試してみて下さい!
エラーをいちいち解析してもらうのも手間にはなりますので💦

ぱぴ娘1
ぱぴ娘1

すごいやん✨

ぱぴすけ
ぱぴすけ

まーな

まとめ

「プログラミングができないとAIを使いこなせない」という思い込みは、もう不要です。

やりたいことはAIに相談すれば解決してくれる時代に突入しました!

それでは!

タイトルとURLをコピーしました