生成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活用研究」の記事

ダウンロードフォルダのExcelファイルブロック解除
AIがあればVBAはできる:セルに絵文字を入れる
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本ノック 7本目:日付データの扱い


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

AI時代におけるRPAとVBAの位置づけ - 補完技術としての役割と未来 -|生成AI活用研究(2025-05-12)
スマートExcel|AI×Excel:AIと進化するExcelの新常識|生成AI活用研究(2025-05-11)
VBA開発の現場で生成AIはどう使う? そのメリットと潜むリスク|生成AI活用研究(2025-05-11)
CursorでVBAを直接?編集・実行できる環境構築について|生成AI活用研究(2025-05-10)
Geminiと100本ノック 17本目:重複削除(ユニーク化)|生成AI活用研究(5月10日)
Geminiと100本ノック 16本目:無駄な改行を削除|生成AI活用研究(5月6日)
AIがあればVBAはできる:セルに絵文字を入れる|生成AI活用研究(2025-05-07)
Geminiと100本ノック 15本目:シートの並べ替え|生成AI活用研究(5月6日)
Geminiと100本ノック 14本目:社外秘シート削除|生成AI活用研究(5月4日)
Geminiと100本ノック 13本目:文字列の部分フォント|生成AI活用研究(5月4日)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.繰り返し処理(For Next)|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
5.ひらがな⇔カタカナの変換|エクセル基本操作
6.RangeとCellsの使い方|VBA入門
7.メッセージボックス(MsgBox関数)|VBA入門
8.セルのクリア(Clear,ClearContents)|VBA入門
9.FILTER関数(範囲をフィルター処理)|エクセル入門
10.条件分岐(Select Case)|VBA入門




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


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



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