生成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 ・・・新着記事一覧を見る

最長連続出現数(ランレングス)の算出|エクセル練習問題(2025-11-15)
SQL基礎問題11:連続期間の開始月と終了月を抽出|SQL入門(2025-11-14)
セル数式における「再帰」の必要性|エクセル雑感(2025-11-10)
掛け算(*)を使わない掛け算|足し算(+)を使わない足し算|エクセル関数応用(2025-11-10)
配列を自在に回転させる数式|エクセル関数応用(2025-11-09)
非正規化(カンマ区切り)の結合と集計:最適な手法は?|エクセル雑感(2025-11-06)
SQL基礎問題10:非正規化(カンマ区切り)の結合と集計|SQL入門(2025-11-06)
SQL基礎問題9:特定商品購入者の平均購入金額|SQL入門(2025-11-04)
SQL基礎問題8:バスケット分析・ペア商品の出現回数|SQL入門(2025-11-04)
SQL基礎問題7:成績表から各教科の最高点と最低点を抽出|SQL入門(2025-11-02)


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

1.生成AIパスポート試験 練習問題(四肢択一式)|生成AI活用研究
2.最終行の取得(End,Rows.Count)|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
5.繰り返し処理(For Next)|VBA入門
6.RangeとCellsの使い方|VBA入門
7.FILTER関数(範囲をフィルター処理)|エクセル入門
8.日本の祝日一覧|Excelリファレンス
9.マクロとは?VBAとは?VBAでできること|VBA入門
10.セルのクリア(Clear,ClearContents)|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」をお願いいたします。
本文下部へ