VBA×AIでコードを作成|GPTExcelが無料で全機能を開放

お知らせ記事には広告が含まれておりますがExcelのスキルUPに繋がる様コンテンツ自体は手を抜かずに作成しております

ExcelVBAのコードをAI(GPTExcel)が作成する

お知らせ2023/11/21 更新

操作画面が変更になりました。詳しくはこちら


個人的に注目していたAppに対し日本時間の2023年09月26日(火)にGPTExcelの仕様変更がありました。

結論から申し上げますと無料プランで全機能が使える様になっています。

EnjoyExcel
EnjoyExcel

別件でEXCELBREW社にメールしたところ全機能を開放した事を教えてくれました。

加えてもう1つ今後の動向について興味深い情報を教えてくれました。

今まで有料プランでしか使えなかった以下要素についてコードの自動生成が可能になっています。

  • Google Apps Script
  • マクロ(ExcelVBA)
  • SQL
  • 正規表現

使用回数の問題だけクリア出来ればExcelでの使い勝手に関してはChatGPTを超えています。使い勝手が良いです。

  • マクロのイメージはあるけどコードが出てこない
  • コピペで使えるコードがほしい
  • エラー対策の為にコードを手軽にチェックしながらコーディングしたい

3つのような事を考えている方々に最適なソリューションを提供できます。VBAも生成AI化が進みますね。

課金しても毎月約7ドル(現時点で1,000円ほど)なので課金も含め検討する価値のあるAppです。

今回は早速VBAとSQLのコードを作ってみました。

今後の動向についての興味深い情報も含めて以降で解説していきます。

関連記事

2つ紹介します。(リンクは3つです)

AIは仕事の中にどれぐらい浸透してきたのか

AIの導入状況に関する調査では2022年の段階で世界の企業の約35%がビジネスにAIを活用している様です。

さらに42%がAIの導入を検討していることが示されています。

参考文献世界のAI導入状況2022年(IBM Global AI Adoption Index 2022)

世界中で、人工知能 (AI) の導入と、それによる企業や社会への影響は、転換期を迎えています。

世界の AI 導入率は着実に高まり、現在は前年から 4 ポイント高い 35% まで上昇しています。

世界のAI導入状況2022年(IBM Global AI Adoption Index 2022)

GPTExcelに関する関連記事

GPTExcelとは?基本機能とエクセルのワークシート関数の調べ方については以下記事でまとめています。

基礎編GPTExcelとは?無料プランで使い方や日本語対応可否を調査

GPTExcel、ChatGPT、Google検索の使い勝手を比較した記事はこちらになります。

応用編違いを比較|ChatGPT、GPTExcel、Google検索で関数を検索

関連書籍

VBAのコードはGPTExcelで書いてもらえたとしてもコードの正当性を判断したりアレンジするにはさらに勉強が必要です。

と言いたいところなのですが「AIにお願いしてコードを生成してもらう方法」が分かれば自分で勉強する必要は無いです。

コードの正当性やコードのアレンジごとChatGPTに確認をお願いするという方法をとれば上手くいく可能性は上がります。

これからはAIツールを利用したプログラミングを勉強しましょう。

おすすめ書籍
¥2,178 (2024/07/16 17:15時点 | Amazon調べ)
\楽天ポイント4倍セール!/
楽天市場

おすすめ電子書籍はこちらです。

EXCELBREW社からのメールで仕様変更を知る

日本時間の2023年09月26日(火)にEXCELBREW社にメールを送りました。

ブログで使い方などの紹介記事を書かせてもらった事を伝えると以下の様に返信がありました。

返信があった文章はもう少し文字が書かれていたのですがひとまず一部を紹介します。

メールの内容

I have enabled all restricted features for free users too.

和訳すると「無料ユーザーに対しても制限付きの機能をすべて有効にしました」となります。

「えっ?」と思いサイトにアクセスしてHome画面から作業画面に移動しました。

すると画面左の要素選択のインデックスからクラウン(王冠)マークが消えていました。

という事は無料プランで全ての機能が使えるという事です。メールの内容が反映されている事が分かりました。

解放された機能を使ってみる

今回はVBAのコードとSQL文を生成してみます。以降事例をもとにレビュー結果を紹介していきます。

使ってみて「非常に有能なChatBot(チャットボット)と対話している」様な気持ちになりました。

それぐらい「タイムリーに必要な情報を返してくれる便利なシステム」という印象を持ちました。


お知らせ2023/11/21 更新:操作画面変更が入りました。

最新の情報が知りたい方は画像下のアコーディオン(新しい操作画面はこちら)をクリックしてください。

Dashboard
ログイン後の画面です。Dashboardが表示されています。(画像はクリックすると拡大します)

できる事や有料プランの課金額などの大幅な変更はなさそうです。変化点確認後は記事を読み進めてください。

ログインしてすぐのHome画面です。Welcome・・・という様に挨拶してくれる様になりました。

画面中央やや上に5つ表示された要素か画面左に縦に並んでいる要素から必要なものを選択していきます。

画面変更後のHome画面-2(アコーディオンの中)
クリックすると拡大します

「</>Scripts」の新しい操作画面です。操作方法は1~4を参照ください。

基本的には変更前と同じです。変化点は4に記載した様に説明が追加された事です。

  1. 「</>Scripts」を選択
  2. プルダウンから「VBAScript」を選択
  3. 「EXPLAINED」を選択
    • ③のすぐ下の窓にやりたい事(Prompt)を入力し更にすぐ下の「GENERATE」を押下
  4. 説明付きでコードが生成されます(説明の上にコードが生成されています)
画像はこちら(クリックすると拡大します)
新しい操作画面

以降関数やSQL、正規表現についても操作画面が変更になっていますが難なく対応できそうです。

画面左の要素から適切な仕様を選んでいただきその後は画面の流れに従って操作してください。

VBAのコードを生成してみる

早速VBAのコードを作ってみました。CHatGPTとの差は必要な結果がシンプルというところです。

要求したプロンプトを読み取って必要なコードだけピンポイントで用意してくれます。

CASE_1

画像には赤枠が3つあります。左から説明していきます。

画像はこちら(クリックすると拡大します)

まず一番左の赤枠です。SQL、Scriptsなどの文字の右端にはクラウンマークがあったのですが無くなりました。

続いて真ん中の赤枠です。まずは赤枠の上にある「VBA Script」と書いてあるアイコンを選択します。

その後真ん中の赤枠の様に用意してほしいコードの説明を書きます。

入力したプロンプトはこちら

セルA1からセルA1000に「おはようございます」を記入してください。

生成された回答は以下コードです。

回答はこちら
Sub FillCells()

  Range("A1:A1000").Value = "おはようございます"

End Sub

非常に簡単なコードですが日本語の意味を考えて正確にコードを生成してくれました。

CASE_2

次は今回の問い合わせに文字を足して再度コードを生成してもらいました。

前段に少し文字を足します。指示の修正を行いました。以下画像の仕様で実行してみます。

画像はこちら(クリックすると拡大します)
入力したプロンプトはこちら

ForNextステートメントを使ってセルA1からセルA1000に「おはようございます」を記入してください。

これが伝わるのか?非常に楽しみでした。GENERATEボタンをクリックすると以下コードが用意されました。

回答はこちら
Sub FillCells()

  Dim i As Integer
  
  For i = 1 To 1000

    Range("A" & i).Value = "おはようございます"

  Next i
  
End Sub

どんなデータを使ってどんな手順でコードを作っているのか?色々不思議ですがコードが生成されていきます。

本当にすごいです。この時点でマクロ初心者を抜き去りました。繰り返し処理が書けています。

CASE_3

もう少し難しい事をやってもらいました。コードの作り方としては少し難易度が上がります。

画像はこちら(クリックすると拡大します)
入力したプロンプトはこちら

ワークシート「A」のB列に値が100個あります。この中から「月曜日」という文字列があったら隣のC列に「一致」と記入してください。

コードとしては比較的簡単なのですが日本語を理解してコードを生成してくれるのか心配でした。

しかし心配する必要は無かったです。生成されたコードはこちらです。

回答はこちら
Sub FindMonday()

  Dim ws As Worksheet
  Dim LastRow As Long
  Dim i As Long
  
  Set ws = ThisWorkbook.Sheets("A")
  
  LastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row
  
  For i = 1 To LastRow
  
    If ws.Cells(i, "B").Value = "月曜日" Then
    
      ws.Cells(i, "C").Value = "一致"
    
    End If
  
  Next

End Sub

コメントは削除しています

日本語を全部理解出来ています。それどころか非常に丁寧にコードを書いてくれました

オブジェクト変数も使えている。最終行も取得できた。最後は繰り返し処理とIfステートメント。完璧です。

私はCellsプロパティのかっこの中は数値で書きますのでそこだけ気になりましたが後は言う事ありません。

生成されたコードには日本語でコメントも入っていました。本当にすごいです。他に言葉が見当たりません。

SQL文を生成してみる

使用回数の制限もあるのでSQL文は1つだけ要求(指示)を投げてみました。

結論としては使えるコードが返ってきました。

画像はこちら(クリックすると拡大します)
入力したプロンプトはこちら

売上テーブルの中からカラム「価格」で1,000円以上のレコードを取り出してください

返ってきたコードはこちらです。

回答はこちら
SELECT * FROM 売上テーブル WHERE 価格 >= 1000;

「売上」テーブルの中から という様にかっこをつけてテーブル名を指定するのを忘れてしまいました。

よってコードの中でテーブル名が「売上テーブル」になっています。

それ以外は自分が思っていたコードを生成してくれました。ツールとしては「非常に使い易い」です。

その他

3つあります。

使用回数

使用回数に変更が加えられたのかは正確に確認できていません。未だ4回のままかもしれません。

上記作業のあと関数の説明が2回程使えました。そうなると計6回になります。

もしかしたら使用回数が増えているのかもしれませんがまだ正確には分かっていません。

明日以降もGPTExcelを実際に使って確認してみます。

クリックすると拡大します

なお引き続きクールタイムは12時間でした。

Google Apps Scriptと正規表現について

確認できていません。以降も使用感を確認する予定は無いので興味がある方は各自でご確認ください。

EXCELBREW社からの情報の続き

全機能を開放するという情報の他にも興味深い事が書いてありました。

メールの内容

more feetures are coming soon.

和訳すると「さらに多くの機能が間もなく登場します。」となります。

いつかは分かりませんがGPTExcel自体がさらにパワーアップする様です。

これ以上は情報が無いのでどんな仕様になるのか全く分かりません。今後の動向に期待しましょう。

セキュリティについて

問題になるとしたらセキュリティ面ですね。情報の管理に気を付ける必要があります。

インプットした情報が学習に使われるのか?についてはグレーな部分があります。正直分かりません。

BetterChatGptなどの様に「使用したデータはストックされない」という情報も無いです。

よって現状では自社内の製品情報など流出したら困る情報は入力しない方が得策です。

まとめ

GPTExcelの仕様変更についてまとめました。VBAのコード生成には素直に感動しました。

私としてはVBAのコードが生成できるのは本当に嬉しいです。あとは回数ですね。もう少し緩くしてほしいです。

加えてさらなる仕様変更(機能追加)があるようですので期待して待ちたいと思います。

回数制限があってもうまく仕事に取り入れて運用できれば業務の自動化が進みます。活用方法を御検討ください。

最後に今後の学習方法について考えてみます。プログラミングの学習方法の変革期がきました。

プログラムを自作する時代の終わりが見えてきた気がします。これからはAIエンジニアリングの時代です。

とはいえ出力されてきたコードの最終的な確認をするのはやはり人間です。

自分自身が勉強を継続する事も忘れないようにしてください。

参考:海外サイトではコミュニケーションをとるのは当たり前らしい

最近海外のSEOについて勉強した際にこのような一文を見つけました。

「海外では各サイトに対して質問等の問い合わせメールを送るのは当たり前」という内容です。

「そうなのか」と思いEXCELBREW社にメールを送ってみたところ今回紹介した情報を得る事ができました。

日本の会社では問い合わせに対して冷たい回答か回答自体返してくれる事は少ない印象です。

しかし今回の様に良い情報を取得できる可能性があります。頑張ったら開発した人と話せるかもしれません。

先方が日本企業でもこれからはコミュニケーションをとる為のチャレンジをしていこうと思い直しました。

EnjoyExcel

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