HOME > 即効テクニック > Excel VBA > シート操作関連のテクニック > シートをコピーする(Copyメソッド)

即効テクニック

シート操作関連のテクニック

シートをコピーする(Copyメソッド)

(Excel 2013/2016)
対象シートのコピーを作成します。引数Before、Afterの指定により、次のいずれかのパターンでシートのコピーが作成できます。
  1. 同ワークブック内の任意の場所にコピー
  2. 別ワークブック内の任意の場所にコピー
  3. 指定したシートだけで構成される新規ワークブック
構文 Object.Copy(Before, After) 設定項目 内容 Object Worksheet, Chart,Worksheetsコレクションオブジェクト, Sheetsコレクションオブジェクト,Chartsコレクションオブジェクト Before 指定したシートの前にコピーしたシートを挿入 [省略可能] After 指定したシートの後にコピーしたシートを挿入 [省略可能] 次のサンプルで、それぞれ指定の方法を覚えてください。
●サンプル●
Sub CopySamp1()

    Dim mySheet As Worksheet

    Set mySheet = ActiveWorkbook.Worksheets("商品別売上")
    mySheet.Copy after:=Worksheets("商品別売上")                   '---(1)
    MsgBox "@ 同ブックにシートをコピーしました"
    mySheet.Copy Before:=Workbooks("シート操作.xls").Worksheets(1) '---(2)
    MsgBox "A 別ブックにシートをコピーしました"
    mySheet.Copy                                                   '---(3)
    MsgBox "B 新規ブックにシートをコピーしました"

End Sub
(1)では引数Afterにコピー元のシートを指定し、コピー元のシートの後にコピーしたシートを挿入しています。
(2)では引数Beforeに別ブックのシートを指定し、そのシートの前にコピーしたシートを挿入しています。
なお、BeforeとAfterを同時に指定することはできません。(3)では両方の引数を省略し、新規ブックにシートをコピーしています。