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

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

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


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



VBA100本ノックの出題と解答

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


Geminiへの出題とGeminiの回答

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

VBA問題
「Sheet1」のA1:C5のセル範囲を、「Sheet2」のA1:C5にコピーしてください。
値も数式も書式も全てコピーしてください。
ただしSelectメソッドは使用禁止
※行高と列幅の設定はしなくて良い。
VBA マクロ Gemini 100本ノック

承知しました。「Sheet1」のA1:C5セル範囲を「Sheet2」のA1:C5に、Selectメソッドを使用せずにコピーするVBAコードです。

VBA
Sub CopyRangeWithoutSelect()

  Dim sourceRange As Range
  Dim destinationRange As Range

  ' コピー元の範囲をSheet1に設定
  Set sourceRange = ThisWorkbook.Sheets("Sheet1").Range("A1:C5")

  ' コピー先の範囲をSheet2に設定
  Set destinationRange = ThisWorkbook.Sheets("Sheet2").Range("A1:C5")

  ' コピー元の範囲をコピー先の範囲に全て(値、数式、書式)コピー
  sourceRange.Copy Destination:=destinationRange

  ' オブジェクトの解放
  Set sourceRange = Nothing
  Set destinationRange = Nothing

End Sub

コードの説明:
  1. Dim sourceRange As Range および Dim destinationRange As Range で、コピー元とコピー先のセル範囲を格納するための変数Sを宣言します。
  2. Set sourceRange = ThisWorkbook.Sheets("Sheet1").Range("A1:C5") で、sourceRange変数に「Sheet1」のA1からC5までの範囲を設定します。ThisWorkbookを使用することで、マクロが実行されているブックのシートを指定します。
  3. Set destinationRange = ThisWorkbook.Sheets("Sheet2").Range("A1:C5") で、destinationRange変数に「Sheet2」のA1からC5までの範囲を設定します。
  4. sourceRange.Copy Destination:=destinationRange がコピーを実行する主要な行です。sourceRangeのCopyメソッドを使用し、Destination:=destinationRangeでコピー先を直接指定しています。これにより、Selectメソッドを使用することなくコピーが実行されます。この方法でコピーすると、値、数式、書式など、セルに含まれる全ての情報がコピーされます。
  5. Set sourceRange = Nothing および Set destinationRange = Nothing で、使用したオブジェクト変数を解放しています。これは必須ではありませんが、メモリ管理の観点から推奨される習慣です。

このコードを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」をお願いいたします。
本文下部へ