「Excelでマクロを使って業務を効率化したいけれど、VBAは難しそう……」そんな悩みを抱えていませんか?
実は今、ChatGPTを活用することで、プログラミング経験がない人でもマクロ(VBA)コードを自動生成できるようになっています。
この記事では、ChatGPTでExcelのマクロを作成する具体的な方法と、使えるプロンプト・出力サンプル・実装手順・失敗回避のコツまでを網羅的に解説します。
ChatGPTでExcelマクロを作成するとは?
■ 基本原理:自然文からVBAを自動生成
ChatGPTは自然言語での指示を受け取って、目的に応じたコードを生成することができます。
「〇〇という操作を行うマクロを作って」と伝えるだけで、業務に応じたVBAコードを即座に出力してくれます。
■ 必要な環境と準備
- ChatGPT(できればGPT-4)アカウント
- Microsoft Excel(VBA対応版)
- VBAエディタ(Alt + F11で起動可能)
マクロ作成に使えるプロンプト例と出力コード
■ プロンプト例①:フィルター処理マクロ
「Sheet1のA列から『完了』と書かれた行をすべて抽出して、Sheet2に貼り付けるマクロを作ってください」
このプロンプトで生成されるコードは以下のようになります:
Sub FilterAndCopy()
Sheets("Sheet1").Range("A1").AutoFilter Field:=1, Criteria1:="完了"
Sheets("Sheet1").UsedRange.SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("Sheet2").Range("A1")
End Sub
用途:進捗管理や作業完了リストの抽出に最適です。
■ プロンプト例②:PDF保存マクロ
「Sheet1をPDFとしてデスクトップに保存するExcelマクロを作成してください」
Sub SaveAsPDF()
Dim filePath As String
filePath = Environ("USERPROFILE") & "\Desktop\Sheet1.pdf"
Sheets("Sheet1").ExportAsFixedFormat Type:=xlTypePDF, Filename:=filePath
End Sub
用途:日報や請求書の自動保存に便利です。
■ プロンプト例③:セル整形マクロ
「選択セルを中央揃え・太字・フォントサイズ14にするマクロを出力して」
Sub FormatSelectedCell()
With Selection
.HorizontalAlignment = xlCenter
.Font.Bold = True
.Font.Size = 14
End With
End Sub
用途:報告書やプレゼン資料作成時の書式統一に役立ちます。
良いプロンプトと悪いプロンプトの違い
用途 | 悪い例 | 良い例 |
---|---|---|
データ抽出 | 「抽出して」 | 「A列に『完了』とある行だけをSheet2へ貼り付けるマクロを作って」 |
保存処理 | 「PDFで保存して」 | 「Sheet1をPDFにしてデスクトップに保存するマクロを生成して」 |
生成されたマクロのExcel貼り付け手順
- Excelを開いてAlt + F11でVBAエディタを起動
- 「挿入」→「標準モジュール」をクリック
- ChatGPTで生成されたコードを貼り付け
- Excelに戻ってマクロを実行(開発タブから)
※マクロの初回実行時には「コンテンツの有効化」または「信頼済みファイル」とする必要があります。
注意点とよくある失敗例
- ChatGPTはVBA仕様の細かな文法ミスをすることがあるため、実行前に簡単なレビューが必要
- 未定義の変数・シート名・範囲名などは明示する
- 構文エラーが出たら、どこで止まったかを明記してChatGPTに再質問する
応用ユースケースと活用アイデア
- 営業日報をワンクリックでPDF化&メール送信
- 月末のデータ集計・シート分割マクロの自動作成
- 条件付きのグラフ生成・フォーマット統一
アイデアを膨らませれば、業務時間が月に数時間〜数十時間単位で削減できる可能性があります。
まとめ|ChatGPTでExcel作業を自動化しよう
ChatGPTを活用すれば、誰でもマクロ自動化の力を手に入れることができます。
本記事で紹介したプロンプトと手順を参考に、まずは簡単なマクロから試してみましょう。
小さな一歩が、Excel業務の大きな進化につながります。
コメント