ChatGPTが作ったエクセルマクロを紹介!ChatGPTの簡単な使い方付き

ChatGPTが作ったエクセルマクロを紹介! VBA/マクロ
この記事は約6分で読めます。

エクセルでマクロを書いている時、こんな問題にぶつかることありませんか?

あれ?これどうやって書いたらいいんだろ?
どんな関数を使って、引数に何を指定すればいいんだろ??

以前なら、Googleで1つずつ調べることが多かったです。
やりたいことを実現するにはどの関数を使えばいいのか?
その関数はどうやって使うのか?引数に何を指定すればいいのか?
この引数の意味は?

1つずつ調べると、まあまあ時間がかかりますよね。
でも、今はChatGPTというものがあります。
ChatGPTを使えば、ほぼ一瞬で答えがわかります。
めちゃくちゃ便利です。

というわけで、ChatGPTにエクセルのマクロを作ってもらいました。

ChatGPTについて

ChatGPTに作ってもらったマクロを紹介する前に、少しだけChatGPTについて触れておきます。
せっかくなのでChatGPTに教えてもらいました。

Q
[ChatGPTへの質問] ChatGPTとは?
A

ChatGPTは、OpenAIによって開発された対話型の言語モデルです。ChatGPTは、GPT(Generative Pre-trained Transformer)のアーキテクチャを基にしており、大量のテキストデータを学習して、様々な言語タスクに対して優れた性能を発揮することができます。

GPTモデルは、事前に大規模なデータセットで学習され、その後、特定のタスクにFine-tuningされることが一般的です。ChatGPTは、自然言語処理のタスクにおいてテキスト生成、質問応答、文章の要約、言語理解など、幅広い用途で活用されています。

ChatGPTはユーザーとの自然な対話をサポートし、質問への回答や情報提供、テキスト生成など、多岐にわたるタスクに対して有用なツールとして使われています。

ChatGPTの回答より
Q
[ChatGPTへの質問] ChatGPTはいつから使えるようになった?
A

最初のChatGPTモデルは、2020年6月にリリースされました。その初期のバージョンは「ChatGPT」や「GPT-3」として知られています。その後も、OpenAIはモデルの改良や新しいバージョンの開発を進めています。現在、ChatGPTやそれに類するモデルは様々なアプリケーションで使用され、プログラムの開発、対話型インターフェースの構築、自然言語処理の研究などに役立てられています。

ChatGPTの回答より

ChatGPTが作成したエクセルマクロのコード

では、本題です。
ChatGPTにエクセルマクロの作成を2つお願いしてみました。

[依頼①] Excel VBAで全てのピボットテーブルを更新するコードを書いて

[回答①]ChatGPTが作成したエクセルマクロ

Sub UpdateAllPivotTables()
    Dim ws As Worksheet
    Dim pt As PivotTable
    
    ' すべてのワークシートを対象にする場合
    For Each ws In ThisWorkbook.Worksheets
        For Each pt In ws.PivotTables
            pt.RefreshTable
        Next pt
    Next ws

    ' 特定のワークシートの場合(例: Sheet1)
    'For Each pt In Sheets("Sheet1").PivotTables
    '    pt.RefreshTable
    'Next pt
End Sub

[依頼②] ピボットテーブルで任意の列でソートするVBAコードを書いて

[回答②]ChatGPTが作成したエクセルマクロ

Sub SortPivotTable(pivotTableName As String, sortColumn As String)
    Dim ws As Worksheet
    Dim pt As PivotTable
    Dim pf As PivotField

    ' ピボットテーブルが存在するか確認
    On Error Resume Next
    Set pt = ActiveSheet.PivotTables(pivotTableName)
    On Error GoTo 0

    If pt Is Nothing Then
        MsgBox "指定された名前のピボットテーブルが見つかりません。", vbExclamation
        Exit Sub
    End If

    ' ソート対象の列が存在するか確認
    On Error Resume Next
    Set pf = pt.PivotFields(sortColumn)
    On Error GoTo 0

    If pf Is Nothing Then
        MsgBox "指定された名前の列が見つかりません。", vbExclamation
        Exit Sub
    End If

    ' ソートを実行
    pf.AutoSort xlAscending, sortColumn
End Sub

すごいですね。
このまま使えるレベルでコードが生成されています。
しかもコメントがきちんと書かれているのでメンテナンス性も良さそうです。

ChatGPTの使い方

ChatGPTに登録する

ChatGPTのアカウントを作っていない人は、最初にサインアップ(アカウント作成)が必要です。
お金のかからないフリーアカウントが使えるのでご安心を。

ChatGPTサインアップ手順
  • 1
  • 2
    「Sign up」ボタンをクリックする

    ※既にアカウントを作っている場合は、「Log in」ボタンをクリックする

    ChatGPTトップページ
  • 3
    Email Addressを新規登録、またはGoogle/Microsoft/Appleのアカウントを使ってサインアップする
    ChatGPTサインアップページ

ChatGPTに質問する

ChaGPTのサインアップが終わったらログインしてください。
ログインすると、下の画面が出るので赤枠部分に質問を書きます。
質問を書いてEnterキーを押せば、あとはChatGPTがスルスルッと答えてくれます。

ChatGPT質問を書く場所

ChatGPTでエクセルマクロを作るメリット

上で見たようにChatGPTが作るエクセルマクロは、ほぼそのまま使えます。
そのコードを見て私が感じた「ChatGPTを使うメリット」をまとめておきます。

ChatGPTでエクセルマクロを作るメリット
  • マクロでどのように書いたらいいかわからないとき、ChatGPTのソースコードを読めばわかる
  • 「ああ、こんな風にコードを書けばいいんだ」と勉強になる
  • 自分で1つ1つ調べるよりも圧倒的に速く作れる

ChatGPTが作成したエクセルマクロを使うときの注意事項

そのまま使えるレベルだと言っても、最終的にそのプログラムを使う責任はあなた自身にあります。
ですので、ChatGPTが作成したマクロをそのまま鵜呑みにせず、問題がないことを確認するようにしましょう。

そう考えるとExcel VBA/マクロでプログラムを書く知識/スキルは必要です。
ChatGPTがあるからと言って「もう勉強しなくても、覚えなくてもいいんだ!」とはならないと思います。

まとめ

この記事のまとめ
  • ChatGPTで作成したエクセルマクロを紹介した
  • ChatGPTの登録方法やメリットを述べた
  • ChatGPTが作るエクセルマクロはそのまま使えるレベルだが、使用するのは自己責任であることに注意したい

ChatGPTはとても便利ですし、とても優秀です。
上手に使って、サクッと短時間でエクセルマクロを作れるといいですね。

コードをどうやって書いたらいいかわからない、どんな関数をどうやって使えばいいかわからない。
そんな時ChatGPTに聞いて教えてもらうといいんじゃないでしょうか。

コメント

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