1. HOME
  2. ブログ
  3. BLOG
  4. 上級編
  5. ChatGPTでExcelのマクロを作れる?VBAを書いてもらう方法
BLOG

ブログ

上級編

ChatGPTでExcelのマクロを作れる?VBAを書いてもらう方法

Excelで毎回
同じ操作をしていて
「自動化できないかな」
と感じることがあります。

そんなとき
候補になるのが
マクロとVBAです。

ただ初心者にとって
VBAを一から書くのは
少しハードルが
高く感じるでしょう。

結論からいうと
ChatGPTに
やりたいExcel操作を
日本語で伝えれば
VBAコードの作成を
依頼できます。

作ってもらったコードを
ExcelのVBAエディターへ
貼り付けて
実行する方法です。

ただし
AIが作ったコードには
誤りが含まれる
可能性があります。

いきなり本番ファイルで
実行するのではなく
コピーしたファイルで
確認してから使いましょう。

マクロとVBAは

同じものではない

マクロとは
Excelの一連の操作を
まとめて実行する
仕組みのことです。

Microsoft公式でも
繰り返し作業を
自動化する方法として
マクロを案内しています。

一方VBAとは
Visual Basic for
Applicationsの略で
Officeを操作するための
プログラミング言語です。

Microsoftによると
マウスやキーボードで
行える多くの操作を
VBAで自動化できます。

つまり
マクロが自動化する仕組み
VBAがその処理を書く
言語の一つという
イメージです。

ChatGPTなら

日本語から

VBAを作れる

VBAを書く場合
セルやシートなどの
操作方法をコードで
指定する必要があります。

しかしChatGPTなら

「A列の空白行を
削除するVBAを書いて」

「毎月の売上表を
別シートへ集計する
マクロを作って」

というように
普通の日本語で
依頼できます。

重要なのは
処理内容を
具体的に伝えることです。

対象シート

対象セル

実行したい処理

処理後の状態

を説明すると
意図が伝わりやすくなります。

ChatGPTで

VBAを作る手順

まずExcelで
自動化したい作業を
整理してください。

たとえば

「Sheet1のA列で
空白になっている行を
削除したい」

と決めます。

次にChatGPTへ

「Excel VBAで
Sheet1のA列が
空白の行を削除する
マクロを書いてください。
初心者向けに
貼り付け方も説明して」

と入力します。

コードが表示されたら
内容を確認します。

次にExcelで
「開発」タブから
Visual Basicを開きます。

Visual Basicエディターとは
VBAコードを入力したり
編集したりする画面です。

Microsoft公式でも
開発タブから
Visual Basicエディターを
起動できると
案内しています。

エディターが開いたら
標準モジュールなどへ
コードを貼り付けます。

その後
コピーしたExcelで
マクロを実行し
想定どおりに
処理されたか確認します。

例として

A列の空白行を

削除してみる

仮に
Sheet1のA列に
商品名が並んでいて
空白の行だけを
削除したいとします。

ChatGPTには

「Sheet1のA列を確認し
空白セルがある行を
削除するExcel VBAを
作ってください」

と依頼します。

すると
行を順番に確認し
空白なら削除する
VBAコードを
提案してもらえます。

このとき
単に

「空白を消して」

と頼むより

「行全体を削除する」

「A列だけを見る」

「1行目は見出しなので
削除対象にしない」

などを指定したほうが
意図に合いやすくなります。

特に
セルの中身だけを消すのか
行そのものを削除するのかで
結果は大きく違います。

マクロ記録と

ChatGPTは

使い分けられる

簡単な操作なら
ChatGPTを使わず
Excelのマクロ記録でも
自動化できます。

マクロ記録とは
実際に行った操作を
Excelが記録し
VBAコードとして
残す機能です。

Microsoft公式でも
セル入力やクリック
書式設定などを
マクロ記録で
VBAコードとして
保存できるとしています。

たとえば
毎回同じ列へ色を付ける
同じ書式を設定する
といった作業なら
マクロ記録が
分かりやすいでしょう。

一方
条件によって
処理を変えたい場合や
複数の操作を
組み合わせたい場合は
VBAコードを
作る方法が候補になります。

ChatGPTには

「この作業なら
マクロ記録とVBAの
どちらが向いていますか」

と相談することもできます。

VBAを保存するなら

xlsm形式を使う

VBAを書いたあと
保存方法にも
注意が必要です。

通常のExcelブックは
.xlsx形式ですが
VBAマクロを保存する場合は
マクロ有効ブックの
.xlsm形式が使われます。

Microsoft公式でも
マクロを含むブックは
Excelマクロ有効ブック
として保存する方法を
案内しています。

.xlsx形式へ保存すると
VBAマクロが
保存されない場合があります。

そのため
VBAを残したい場合は
保存形式が
.xlsmになっているか
確認してください。

ChatGPTのコードは

本番前にテストする

初心者が
最も注意したいのは
生成されたコードを
そのまま本番ファイルで
実行することです。

VBAでは
セルの書き換えだけでなく
行やシートの削除なども
実行できます。

コードが意図と違えば
必要なデータまで
変更する可能性があります。

まず
元ファイルをコピーし
テスト用として使います。

実行後は

対象シート

対象範囲

削除されたデータ

変更された値

を確認してください。

さらにChatGPTへ

「このVBAが
何をしているのか
1行ずつ説明して」

と頼む方法もあります。

内容を理解してから
実行したほうが
問題に気づきやすくなります。

知らないマクロを

安易に有効化しない

VBAには
セキュリティ上の
注意点もあります。

Microsoftは
マクロによって
ウイルスや
悪意あるコードが
実行される可能性があると
説明しています。

そのため
出所が分からない
Excelファイルで

「コンテンツの有効化」

などが表示されても
内容を確認せず
有効にするのは
避けるべきです。

Microsoftも
マクロの内容を理解し
必要だと確信できない限り
有効にしないよう
案内しています。

ChatGPTで作ったコードも
同じように
処理内容を確認してから
実行してください。

ChatGPT for Excelとは

用途が少し違う

現在は
ChatGPT for Excelという
Excel内で使える
機能もあります。

これはExcelの
サイドバーから
自然な言葉で
シートの作成や更新
説明などを依頼できる
機能です。

そのため
「表を整えたい」
「数式を直したい」
といった作業なら
VBAを書かなくても
対応できる場合があります。

一方
既存のマクロ運用を
続けたい場合や
VBAコード自体が
必要な場合には
ChatGPTへコードを
作ってもらう方法が
選択肢になります。

FAQ

ChatGPTは

VBA初心者でも

使えますか?

使えます。

VBAの命令を
知らなくても
やりたい操作を
日本語で説明できます。

ただし
完成したコードの
動作確認は必要です。

マクロ記録と

VBAはどちらが

初心者向けですか?

単純な繰り返し操作なら
マクロ記録が
始めやすいでしょう。

条件分岐など
複雑な処理では
VBAを書く必要が
出てくる場合があります。

VBAを使うには

開発タブが必要ですか?

VBAの編集や
マクロ操作では
開発タブを使う方法が
一般的です。

Visual Basic
マクロ
マクロ記録などへ
アクセスできます。

VBA入りExcelは

xlsxで保存できますか?

VBAを残したい場合は
.xlsmなど
マクロ対応形式を
使う必要があります。

通常の.xlsxへ保存すると
マクロが保存されない
場合があります。

ChatGPTのVBAは

そのまま使えますか?

まずテストしてください。

コード自体が動いても
対象セルや
処理内容が
目的と違う可能性があります。

元ファイルをコピーし
結果を確認してから
本番へ使いましょう。

まず自動化したい

1作業を書き出す

最初に
毎日や毎月
繰り返している
Excel作業を
一つ選んでください。

たとえば

「Sheet1の
空白行を削除する」

という作業です。

その内容を
ChatGPTへ

「この作業を
Excel VBAで
自動化してください。
初心者向けに
コードの意味と
実行方法も説明して」

と入力します。

作られたコードは
コピーしたファイルで
実行してください。

正常に動いたら
.xlsm形式で保存し
必要な場面で
利用する流れです。

まとめ

ChatGPTには
Excelで行いたい処理を
日本語で伝えて
VBAコードを
作ってもらえます。

単純な繰り返しなら
マクロ記録

条件付きの処理など
複雑な自動化なら
VBAが候補になります。

ただし
生成されたコードを
確認せず本番データへ
使うのは避けましょう。

まずコピーしたExcelで
動作を確認し
VBAを保存する場合は
.xlsm形式を選びます。

最初は
小さな作業を一つ選び
ChatGPTへ
具体的に説明するところから
始めるとよいでしょう。

参考情報・出典

出典元:
Microsoft Support

確認内容:
マクロ記録と
VBAによる
Excel作業の自動化

URL:
https://support.microsoft.com/ja-jp/excel/automate-tasks-with-the-macro-recorder

出典元:
Microsoft Learn

確認内容:
VBAの概要と
Office操作の自動化

URL:
https://learn.microsoft.com/ja-jp/office/vba/api/overview/

出典元:
Microsoft Learn

確認内容:
Excel VBAの
公式リファレンス

URL:
https://learn.microsoft.com/ja-jp/office/vba/api/overview/excel

出典元:
Microsoft Support

確認内容:
VBAマクロを含む
Excelファイルの
保存形式について

URL:
https://support.microsoft.com/en-us/excel/save-a-macro

出典元:
Microsoft Support

確認内容:
マクロの
セキュリティ設定と
安全上の注意について

URL:
https://support.microsoft.com/en-us/office/enable-or-disable-macros-in-microsoft-365-files-12b036fd-d140-4e74-b45e-16fed1a7e5c6

出典元:
OpenAI Help Center

確認内容:
ChatGPT for Excelで
スプレッドシートを
作成、更新、説明する
機能について

URL:
https://help.openai.com/ja-jp/articles/20001063-chatgpt-for-excel-and-google-sheets

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA