ワークシートのCopy、Moveメソッド

ワークシートをコピーしたい場合は Copy メソッドを使用します。コピーしたワークシートの挿入先を Before または After のどちらかの引数で指定することができます。
引数を省略すると、新規ブックが自動的に作成され、その中にコピーされます。

ワークシートを移動させたい場合は Move メソッドを使用します。引数の指定方法や省略したときの動作はシートが移動すること以外は Copy メソッドと全く同じです。

スポンサーリンク

Copyメソッドの使用方法

構文
object.Copy( [Before] [, After] )

※objectはワークシートオブジェクトを表す変数

引数名 省略 定数/データ型 説明
Before Variant型(シートオブジェクト) 指定したシートオブジェクトの直前に、操作対象シートをコピーまたは移動します。
After Variant型(シートオブジェクト) 指定したシートオブジェクトの直後に、操作対象シートをコピーまたは移動します。

Copyメソッドの使用例

コピー先を指定

ワークシートをコピーして一番右端へ挿入し、シート名を変更する例です。コピーしたシートはアクティブになるので、ActiveSheet でシートを指定します。

Sub sample_eb07c_01()
   'シートを一番右端へコピー
    Worksheets("BBB").Copy _
        After:=Worksheets(Worksheets.Count)

    'コピーしたシートはアクティブになります。
    ActiveSheet.Name = "BBB-COPY"
End Sub

 ワークシートのCountプロパティ
 ワークシートのNameプロパティ

sample_eb07c_01 実行前
sample_eb07c_01 実行前
sample_eb07c_01 実行後
sample_eb07c_01 実行後

コピー先を省略(新規ブックへコピー)

引数を省略して Copy メソッドを使用すると、新規ブックへコピーされます。

Sub sample_eb07c_02()
   'シートを新規ブックへコピー
    Worksheets("BBB").Copy

    'コピーしたシートはアクティブになります。
    ActiveSheet.Name = "BBB-COPY"
End Sub

 ワークシートのNameプロパティ

sample_eb07c_02 実行後
sample_eb07c_02 実行後

Moveメソッドの使用方法

構文
object.Move( [Before] [, After] )

※objectはワークシートオブジェクトを表す変数

引数名 省略 定数/データ型 説明
Before Variant型(シートオブジェクト) 指定したシートオブジェクトの直前に、操作対象シートをコピーまたは移動します。
After Variant型(シートオブジェクト) 指定したシートオブジェクトの直後に、操作対象シートをコピーまたは移動します。

Moveメソッドの使用例

移動先を指定

ワークシート”BBB”を一番右端へ移動させる例です。

Sub sample_eb07c_03()
   'シートを一番右端へ移動
    Worksheets("BBB").Move _
        After:=Worksheets(Worksheets.Count)
End Sub

 ワークシートのCountプロパティ

sample_eb07c_03 実行前
sample_eb07c_03 実行前
sample_eb07c_03 実行後
sample_eb07c_03 実行後

移動先を省略(新規ブックへ移動)

引数を省略して Move メソッドを使用すると、新規ブックへ移動します。

Sub sample_eb07c_04()
   'シートを新規ブックへ移動
    Worksheets("BBB").Move
End Sub
sample_eb07c_04 実行後
sample_eb07c_04 実行後

新規ブックへ移動したので、元のブックにワークシート”BBB”はありません。

sample_eb07c_04 実行後
sample_eb07c_04 実行後
タイトルとURLをコピーしました