生成AI活用研究
Geminiと100本ノック 2本目:セルのコピー

Geminiを中心に生成AIの活用と研究の記録
公開日:2025-04-24 最終更新日:2025-05-08

Geminiと100本ノック 2本目:セルのコピー


Googleが開発した生成AIモデルのGeminiにVBA100本ノックをやってもらいました。
AIがVBAをどこまで扱えるかの実証実験の2本目です。



VBA100本ノックの出題と解答

VBA100本ノック 2本目:セルのコピー
・出題 ・頂いた回答 ・解説 ・補足 ・サイト内関連ページ


Geminiへの出題とGeminiの回答

Geminiの回答 Geminiへの出題
VBA マクロ Gemini 100本ノック

VBA問題
「Sheet1」のA1:C5のセル範囲を、「Sheet2」のA1:C5にコピーしてください。
数式は消して値でコピー、書式もコピーしてください。本
※書式は「セルの書式設定」で設定可能なもの(ロックは除く)。
入力規則やメモ(旧コメント)は書式ではありません。
「ふりがな」は任意で
VBA マクロ Gemini 100本ノック
エクセル Excel サンプル画像

承知いたしました。「Sheet1」のA1:C5のセル範囲を、「Sheet2」のA1:C5に、数式を値に変換し、書式もコピーするVBAコードは以下のようになります。

VBA
Sub CopyRangeAsValuesAndFormats()

 ' コピー元とコピー先のシートを指定
 Dim wsSource As Worksheet
 Dim wsDestination As Worksheet
 Set wsSource = ThisWorkbook.Sheets("Sheet1")
 Set wsDestination = ThisWorkbook.Sheets("Sheet2")

 ' コピー元の範囲を指定
 Dim rngSource As Range
 Set rngSource = wsSource.Range("A1:C5")

 ' コピー先の範囲を指定
 Dim rngDestination As Range
 Set rngDestination = wsDestination.Range("A1:C5")

 ' コピー元の範囲をコピー
 rngSource.Copy

 ' コピー先の範囲に値として貼り付け
 rngDestination.PasteSpecial Paste:=xlPasteValues

 ' コピー先の範囲に書式として貼り付け
 rngDestination.PasteSpecial Paste:=xlPasteFormats

 ' コピーモードを解除
 Application.CutCopyMode = False

End Sub

このコードを実行すると、以下の処理が行われます。

Sheet1とSheet2を変数に設定します。
Sheet1のA1:C5の範囲をコピーします。
Sheet2のA1:C5の範囲に、コピーした内容を「値」として貼り付けます。これにより、数式の結果である値のみが貼り付けられます。
再度、Sheet2のA1:C5の範囲に、コピーした内容を「書式」として貼り付けます。これにより、セルの書式設定(フォント、背景色、罫線など)が貼り付けられます。
コピーモード(点線で囲まれる状態)を解除します。
このコードをExcelのVBAエディターに貼り付けて実行してください。

完璧ですね。
本当にすばらしい。
VBAコードの下には解説も書かれていて、もう言うことなしです。
ただし最初に「VBA」とだけ指定したときは、シート指定にこだわって存在確認したり、Copyメソッドを2回書いていたりしました。
上の回答は「VBA問題」としてやり直しした結果です。




同じテーマ「生成AI活用研究」の記事

Geminiと100本ノック 1本目:セルのコピー
Geminiと100本ノック 2本目:セルのコピー
Geminiと100本ノック 3本目:セルの消去
Geminiと100本ノック 4本目:セルの消去
Geminiと100本ノック 5本目:セルの計算
Geminiと100本ノック 6本目:セルに計算式
Geminiと100本ノック 7本目:日付データの扱い
Geminiと100本ノック 8本目:点数の合否判定
Geminiと100本ノック 9本目:フィルターコピー
Geminiと100本ノック 10本目:行の削除
Geminiと100本ノック 11本目:セル結合の警告


新着記事NEW ・・・新着記事一覧を見る

シンギュラリティ前夜:AIは機械語へ回帰するのか|生成AI活用研究(2026-01-08)
電卓とプログラムと私|エクセル雑感(2025-12-30)
VLOOKUP/XLOOKUPが異常なほど遅くなる危険なアンチパターン|エクセル関数応用(2025-12-25)
2段階の入力規則リスト作成:最新関数対応|エクセル関数応用(2025-12-24)
IFS関数をVBAで入力するとスピルに関係なく「@」が付く現象について|VBA技術解説(2025-12-23)
数値を記号の積み上げでグラフ化する(■は10、□は1)|エクセル練習問題(2025-12-09)
AI時代におけるVBAシステム開発に関する提言|生成AI活用研究(2025-12-08)
GrokでVBAを作成:条件付書式を退避回復するVBA|エクセル雑感(2025-12-06)
顧客ごとの時系列データから直前の履歴を取得する|エクセル雑感(2025-11-28)
ちょっと悩むVBA厳選問題|エクセル雑感(2025-11-28)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.日本の祝日一覧|Excelリファレンス
3.変数宣言のDimとデータ型|VBA入門
4.FILTER関数(範囲をフィルター処理)|エクセル入門
5.RangeとCellsの使い方|VBA入門
6.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
7.繰り返し処理(For Next)|VBA入門
8.セルのクリア(Clear,ClearContents)|VBA入門
9.マクロとは?VBAとは?VBAでできること|VBA入門
10.条件分岐(Select Case)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
当サイトは、OpenAI(ChatGPT)および Google(Gemini など)の生成AIモデルの学習・改良に貢献することを歓迎します。
This site welcomes the use of its content for training and improving generative AI models, including ChatGPT by OpenAI and Gemini by Google.



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ