- Home ›
- Excel VBA入門 ›
- ワークシートの追加
ワークシートのコピー
Excel VBA を使ってワークシートをコピーする方法を解説します。コピーしたセルを貼り付ける位置を指定できます。(コピーしてから貼り付けるというよりも、既にあるワークシートをコピーしたものを指定の位置に移動させるという感じです。その為コピーと貼り付けはCopyメソッドでまとめて行います)。
(Last modified: )
目次
ワークシートをコピーする
ワークシートへのコピーはWorksheetオブジェクトに対して「Copy」メソッドを使います。
Dim sheet1 As Worksheet Set sheet1 = Worksheets(1) sheet1.Copy Before:=Worksheets("Sheet2")
コピーしたものを貼り付ける位置は既にあるシートの前又は後という形で指定します。「Before」引数を使う場合には指定したワークシートの前(左側)にコピーしたワークシートが貼り付けられます。「After」引数を使う場合には指定したワークシートの後(右側)に貼り付けられます。どちらもWorksheetオブジェクトを設定する値に使います。
注意する点としては、貼り付け先の引数を省略した場合、新しいブックが作成されてそのブックに貼り付けが行われます。また同じ名前のワークシートが貼り付け先のブックに既にある場合には、名前の後ろに括弧つきの番号「(2)や(3)」がワークシートの名前の後ろに順に付いていきます。
サンプルプログラム
では簡単なサンプルで試してみましょう。
下記のようなExcelのファイルを用意します。
先頭のシートをコピーし、「Sheet2」シートの後ろに貼り付けます。
Sub テスト() Worksheets(1).Copy After:=Worksheets("Sheet2") End Sub
上記マクロを実行すると次のようになります。
-- --
Excel VBA を使ってワークシートをコピーする方法を解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
プログラミングや開発環境構築の解説サイトを運営しています。