VBATips

すべてのワークシートをコピーする【ExcelVBA】

全ワークシート(全シート)をコピーする

指定したブックからワークシートをThisWorkbookにコピーする場合があります。
単純にループで処理する事でもよいのですが、一行でコピーすることが可能です。
(勉強したはずなのに、実務で使うとなるとFor Eachでループしがちです。)

全ワークシートをコピーするサンプルコード

    
Public Sub sample()
    
  '■アクティブブックのシート全てをThisWorkbookのシートの右側に追加する
    ActiveWorkbook.Worksheets().Copy After:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count)

End Sub

注意点

  • もちろん下記のようにForEachで処理しても同様です。
Public Sub a()
    Dim ws As Worksheet
    For Each ws In ActiveWorkbook.Worksheets
        ws.Copy after:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count)
    Next
End Sub

関連記事

コメント

タイトルとURLをコピーしました