Copy メソッド
Copy メソッドで、指定した位置にワークシートの複製を作成します。別の既存のブックや新規ブック上に複製を作成することも可能です。
【書式】
object.Copy ( [ before, after ] )
引数・戻り値
- object ・・・ 対象となる Worksheet オブジェクト を指定します。
- before ・・・ ここで指定したワークシートの直前に、複製したワークシートを挿入します(省略可)。
- after ・・・ ここで指定したワークシートの直後に、複製したワークシートを挿入します(省略可)。
引数 before、after の両方を一度に指定することはできません。
引数 before、after の両方を省略すると、指定したシートの複製を含む新規ブックが作成されます。
既存のブック上に複製を作成する場合
(例)アクティブシートの複製を「TEST.xlsx」の先頭シートの直後に挿入
ActiveSheet.Copy After:= Workbooks(“TEST.xlsx”).Sheet(1)
Move メソッド
Move メソッドで、指定した位置にワークシートを移動します。別の既存のブックや新規ブック上に移動することも可能です。
【書式】
object.Move ( [ before, after ] )
引数・戻り値
- object ・・・ 対象となる Worksheet オブジェクト を指定します。
- before ・・・ ここで指定したワークシートの直前に、ワークシートを移動します(省略可)。
- after ・・・ ここで指定したワークシートの直後に、ワークシートを移動します(省略可)。
引数 before、after の両方を一度に指定することはできません。
引数 before、after の両方を省略すると、新規ブックが作成され、そこに指定したシートを移動します。
既存のブック上に移動する場合
(例)アクティブシートを「TEST.xlsx」の末尾に移動
ActiveSheet.Move After:= Workbooks(“TEST.xlsx”).Sheet(Worksheets.Count)
Copy メソッド・Move メソッド 使用例
サンプルVBAソース 1
1 2 3 4 5 6 7 8 |
Sub Sample_Copy() '「Sheet2」の直後に「Sheet1」の複製を作成する Worksheets("Sheet1").Copy After:=Worksheets("Sheet2") End Sub |
サンプルVBAソース 2
1 2 3 4 5 6 7 8 9 |
Sub Sample_Move() '「Sheet2」を先頭に移動する Worksheets("Sheet2").Move before:=Sheets(1) End Sub |
実行結果
サンプルVBAソース 実行前
サンプルVBAソース 1 実行後
サンプルVBAソース 2 実行後