Excel

【Excel】VBAマクロでシート全体をコピーして貼り付け(値貼り付けも)を別シートや別ブックに行う方法【Sheets.Copy, PasteSpecial, Worksheets.Add】

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

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

ポイントとしては、`Sheets.Copy`、`PasteSpecial`、`Worksheets.Add`を使用することです。

なお、下記の解説では完全な初心者でもわかりやすいようにあえて変数名(あなた自身が名付けていい場所)を少々変わった名称にしております。

そのため、あなた自身がご活用の際には、ここを適切な(英語表記でしっくりくるものが一般的)ものに変更してご活用くださいね。

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

VBAマクロでシート全体をコピーして別シートに貼り付ける方法【そのまま貼り付け】【Sheets.Copy】

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

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


Sub SheetKopipeToHokashito()
    ' アクティブなシートをコピー
    Sheets("KopipeSuruSheet").Copy After:=Sheets("HokanoSheet")
End Sub

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

このコードでは、「KopipeSuruSheet」という名前のシートをコピーして、「HokanoSheet」の後ろに新しいシートとして追加します。

VBAマクロでシート全体をコピーして別ブックのシートに貼り付ける方法【そのまま貼り付け】【Sheets.Copy】

続いては、VBAマクロでシート全体をコピーして別ブックのシートに貼り付ける方法について解説していきます。

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


Sub SheetKopipeToBetsubook()
    ' 別ブックを開くまたは新規に作成する
    Dim Betsubook As Workbook
    Set Betsubook = Workbooks.Add

    ' シートを別ブックにコピー
    ThisWorkbook.Sheets("KopipeSuruSheet").Copy Before:=Betsubook.Sheets(1)
End Sub

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

このコードでは、新しいブックを作成し、「KopipeSuruSheet」という名前のシートをその新しいブックの先頭にコピーします。

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

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

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


Sub SheetNomiKopipeToHokashito()
    ' シート全体をコピー
    Sheets("KopipeSuruSheet").UsedRange.Copy

    ' 別シートに値だけ貼り付け
    Sheets("HokanoSheet").UsedRange.PasteSpecial Paste:=xlPasteValues
End Sub

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

このコードでは、「KopipeSuruSheet」の値を「HokanoSheet」に値だけで貼り付けることができます。

まとめ

それでは、この記事を参考にExcelのシート全体のコピーと貼り付けをVBAマクロで効率よく行いましょう!