Excel

【Excel】VBAマクロでシート全体をコピーして貼り付け(値のみや別シート、全てのシートを別ブックもなど)する方法【Workbooks.Add, Sheets.Copy, PasteSpecial】

当サイトでは記事内に広告を含みます。

この記事では、ExcelのVBAマクロを使用してシート全体をコピーして貼り付ける方法について解説していきます。

ポイントとしては、`Workbooks.Add`, `Sheets.Copy`, `PasteSpecial`などの関数を使用することです。

マクロ初心者でもわかりやすいように、変数名をaaaaa変数aaaaaといった名称にしています。

そのため、あなた自身がご活用の際には、ここを適切なものに変更してご活用くださいね。

それでは詳しく見ていきましょう!

VBAマクロでシート全体を通常コピーして別シートに貼り付ける方法

それではまず、シート全体を通常コピーして別シートに貼り付ける方法について解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub CopySheetWithFormatting()
    ' シート1をコピーしてシート2に貼り付ける
    Sheets("シート1").Copy Before:=Sheets("シート2")
End Sub

 

コードのAlt+F8を押し、マクロ選択画面でCopySheetWithFormatting関数を実行します。

このコードでは、”シート1″全体をコピし、”シート2″の前にそのコピーを作成します。この操作により、書式設定を含む全ての内容がコピーされます。

 

VBAマクロでシート全体をコピーして値として別シートに貼り付ける方法

続いては、シート全体をコピーして値として別シートに貼り付ける方法について解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub CopySheetValuesOnly()
    ' 元シートの範囲を指定
    Dim aaaaaSourceSheetaaaaa As Worksheet
    Set aaaaaSourceSheetaaaaa = ThisWorkbook.Sheets("元シート")
    ' 目的シートの範囲を指定
    Dim aaaaaDestSheetaaaaa As Worksheet
    Set aaaaaDestSheetaaaaa = ThisWorkbook.Sheets("値コピーシート")
    ' セルの値をコピー
    aaaaaSourceSheetaaaaa.Cells.Copy
    aaaaaDestSheetaaaaa.Cells.PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
End Sub

 

コードのAlt+F8を押し、マクロ選択画面でCopySheetValuesOnly関数を実行します。

このコードでは、”元シート”から全てのセルをコピーし、”値コピーシート”に値のみを貼り付けます。

これにより、元の書式設定や数式は除外され、値のみが転送されます。

 

VBAマクロで元ブックの全てのシートをコピーし、別ブックに全て同じ名前で貼り付ける方法

最後に、元ブックの全てのシートをコピーし、別ブックに全て同じ名前で貼り付ける方法について解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub CopyAllSheetsToNewWorkbook()
    ' 新しいワークブックを作成
    Dim aaaaaNewBookaaaaa As Workbook
    Set aaaaaNewBookaaaaa = Workbooks.Add
    ' 全てのシートを新しいワークブックにコピー
    ThisWorkbook.Sheets.Copy Before:=aaaaaNewBookaaaaa.Sheets(1)
    ' 最初の空白シートを削除
    aaaaaNewBookaaaaa.Sheets(1).Delete
End Sub

 

コードのAlt+F8を押し、マクロ選択画面でCopyAllSheetsToNewWorkbook関数を実行します。

このコードでは、現在のワークブックの全シートを新しく作成したワークブックにコピーします。

この操作で、全てのシートが同じ名前で新しいワークブックに転送されます。

最初に自動的に作成される空白シートは削除されます。

 

まとめ VBAマクロでシート全体の値をコピーして別シートに貼り付けする方法

この記事では、VBAマクロでシート全体をコピーして貼り付け(値のみや別シート、全てのシートを別ブックもなど)する方法について、解説しました。

マクロをマスターしてさらに快適な生活を送っていきましょう^_^