ChatGPTでExcelマクロ自動生成!実用プロンプトとエラー対策完全ガイド

ビジネス活用

「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貼り付け手順

  1. Excelを開いてAlt + F11でVBAエディタを起動
  2. 「挿入」→「標準モジュール」をクリック
  3. ChatGPTで生成されたコードを貼り付け
  4. Excelに戻ってマクロを実行(開発タブから)

※マクロの初回実行時には「コンテンツの有効化」または「信頼済みファイル」とする必要があります。

注意点とよくある失敗例

  • ChatGPTはVBA仕様の細かな文法ミスをすることがあるため、実行前に簡単なレビューが必要
  • 未定義の変数・シート名・範囲名などは明示する
  • 構文エラーが出たら、どこで止まったかを明記してChatGPTに再質問する

応用ユースケースと活用アイデア

  • 営業日報をワンクリックでPDF化&メール送信
  • 月末のデータ集計・シート分割マクロの自動作成
  • 条件付きのグラフ生成・フォーマット統一

アイデアを膨らませれば、業務時間が月に数時間〜数十時間単位で削減できる可能性があります。

まとめ|ChatGPTでExcel作業を自動化しよう

ChatGPTを活用すれば、誰でもマクロ自動化の力を手に入れることができます。

本記事で紹介したプロンプトと手順を参考に、まずは簡単なマクロから試してみましょう。
小さな一歩が、Excel業務の大きな進化につながります。

コメント

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