サイトアイコン 独学エクセル塾

【マクロVBA】ChatGPTを活用してマクロVBAのソースコードを自動で作成する方法

みなさんはChatGPTをご存知でしょうか。


ChatGPTとは対話型のAIで、こちらの問いかけに対して

人工知能が答えてくれるツールになります。

なんとこちらのChatGPTを活用することで
自動でマクロVBAのソースコードを生成することができます

今回は、その一例と活用方法について紹介したいと思います
それでは見ていきましょう!




⬛︎こんなことができるようになる

ChatGPTを活用して、マクロVBAのソースコードを自動生成することができる

またはソースコードを修正することが出来るようになる。

⬛︎ChatGPTとは

ChatGPTとはOpen AIが運営しているシステムであり
対話型の人工知能システムとなっています。

公式ページはこちら☟

ログインページはこちら☟

⬛︎ChatGPTを活用したソースコード生成方法

・事例1

まず、簡単なソースコードを作成してみましょう。
デートしてセル番地B3の文字をコピーして
D3に貼り付け
たいと思います。

ではChatGPTを開いて
「マクロVBAでB3のセルをコピーしてD3に貼り付けるソースコードを教えて」
と、打ち込んでみたいと思います。

結果はこのようになりました。

なんと、ソースコードを自動生成することができました。

Sub CopyPaste()
Range("B3").Copy Destination:=Range("D3")
End Sub

さらにコードの説明までしてくれます。
説明書きは下記の通りです。

上記のコードは、 Range 関数を使用して、 B3 セルを選択し、その値を Copy メソッドでクリップボードにコピーし、 Destination 引数を使用して D3 セルに貼り付けることができます。このコードを実行するには、ExcelのVBAエディターで新しいマクロを作成し、コードを貼り付けて実行する必要があります。

とても便利ですね。


それでは、こちらのソースコードを貼り付けて実行してみましょう。

例でB3に「あいう」と文字を打った状態で
実行してみたいと思います。

実行した結果はこちらです。

ちゃんと動作してくれていますね。
自動でソースコードが生成できるなんて、とても便利な機能ですね。

・事例2

今度は少し難しいソースコードを作成しましょう。
例として、B列の2行目から10行目まで数値が入っています。
さらにD列にも同様に、2行目から10行目まで数字が入っています。

そして、B列とD列を合わせた数値をF列に表示させたいと思います
なので、繰り返し処理が必要になってきます。

ではChatGPTに聞いてみましょう。
今回は「B列の2行目とD列の2行目を足した数をF列に表示するマクロVBAのソースコードを生成してください。さらに2行目から10行目まで同様の動作を繰り返しするソースコードにしてください。」
と聞いてみたいと思います。

いじわるですこし日本語も片言にしています。

それでは入力してみましょう。
結果はこのようになりました。

Sub SumColumns()
Dim i As Integer
For i = 2 To 10
Range("F" & i).Value = Range("B" & i).Value + Range("D" & i).Value
Next i
End Sub

説明書きもこのようになってます。

このコードは、 For ループを使用して、 i 変数を2から10までの値に設定し、 Range 関数を使用して、 B 列と D 列の各行の値を足し、 F 列の同じ行に結果を表示します。このコードを実行するには、ExcelのVBAエディターで新しいマクロを作成し、コードを貼り付けて実行する必要があります。

それではこちらを実行してみましょう。
結果はこのようになりました。

すごいです。
ここまで自動でできると少し悲しくなってしまいますね。

AIの時代は迫ってきています。

製品選定方法・オススメの購入方法についてはこちら☟

Excel・Officeの価格比較!あなたに合ったオススメの製品の選定方法から購入まで ► 独学エクセル塾 (dokugakuexcel.com)

■まとめ

いかがでしょうか。
ChatGPTでのマクロVBAの自動生成は驚きだったのではないでしょうか。

簡単なプログラムではとても便利だと思います。

とは言いつつも、基礎知識は持っておくべきというのが個人の意見です。
ソースコードも通常はもっと複雑で変数も様々な場所で連携したりすると思います。

しかしその動作をすべて言語化することも難しいですよね。
さらにエラーが起きても、そのコードの意味が理解できていないと
対応すらできない
といった点もあります。

しかし、見本を作成したりコードの1部を作成したり、
どの関数を使えばいいのかわからない時にはとても重宝するシステムだと思います。

是非参考にしてみてください。

それでは次回の記事でお会いしましょう。

モバイルバージョンを終了