複数のワークシートをまとめてコピーしたい
単一のワークシートをコピーする方法はCopyメソッドで対応が可能です。
では、まとめてコピーするにはどうしたらよいでしょうか。
事前にコピーしたいワークシートを配列で渡せばコピーをしてくれます。
下記3パターンがあります。
複数のワークシートをまとめてコピーするサンプルコード
'■複数のシートをまとめてコピーするサンプルコード Public Sub sample() '■①複数シートをまとめてコピー(シート名で選択) Worksheets(Array("Sheet1", "Sheet2", "Sheet3")).Copy '■②複数シートをまとめてコピー(シート番号で選択) Worksheets(Array(1, 2, 3)).Copy '■③複数シートをまとめてコピー(配列で選択) Dim arr As Variant ReDim arr(1 To 3) arr(1) = "Sheet1" arr(2) = "Sheet2" arr(3) = "Sheet3" Worksheets(arr).Copy '■貼り付けする考えは1シートであろうが複数シートであろうが同様の考え Worksheets(Array(1, 2)).Copy after:=Worksheets(Worksheets.Count) Worksheets(arr).Copy Before:=Workbooks("Book2").Worksheets(2) End Sub
注意点
Worksheets(Array(1, 3, 2)).Copyのように渡しても貼り付け時は1,2,3の並びになります。
コメント