Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » VBAでシートを新規ブックにコピーする

VBAでシートを新規ブックにコピーする

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

VBAでシートを新規ブックにコピーする

「excel vba シートコピー 新規ブック」
「エクセル2010 マクロ アクティブシートコピー 新規ブック」
という検索でアクセスがありました。

Excel VBA(Visual Basic for Applications)で、シートを新しいブックへコピーするには、どのようなコードを書けばいいのかを探している方による検索です。

[スポンサードリンク]

Worksheet.Copyは引数省略で新規ブックへのコピーに

「excel vba シートコピー 新規ブック」
「エクセル2010 マクロ アクティブシートコピー 新規ブック」
という検索をなさった方は、随分悩んだのかもしれませんが、とても簡単なコードで、シートを新規ブックにコピーすることができます。
▼アクティブシートを新規ブックにコピーするコード
ActiveSheet.Copy

上記の1行のコードだけでアクティブシートが新しいブックにコピーされます。

WorksheetオブジェクトのCopyメソッドは、どこへコピーするかを引数で指定できますが、引数を省略すれば新規ブックへのコピーとなります。

シートを指定するオブジェクト式部分を変更すれば、アクティブシート以外のシートももちろん新規ブックにコピーできます。
例えば、
  Worksheets(1).Copy
ならば一番左のワークシートが新規ブックにコピーされ、
  Sheets("シート1").Copy
なら「シート1」という名前のシートが新規ブックにコピーされます。

マクロ記録機能も試しましょう

シート見出し上の右クリックで表示されるショートカットメニューから、[移動またはコピー]を選択すると、[シートの移動またはコピー]ダイアログボックスが表示されます。

この[シートの移動またはコピー]ダイアログの、[移動先ブック名]欄で「(新しいブック)」を選択し、[コピーを作成する]チェックボックスをOnにしてから[OK]ボタンを押すと、新規ブックにシートをコピーできます。

「シート1」という名前のシートでこの操作をマクロ記録すると、
  Sub Macro1()
    Sheets("シート1").Select
    Sheets("シート1").Copy
  End Sub
というコードが自動的に作られます。

この「Sheets("シート1").Copy」が、シートの新規ブックへのコピーです。

行った操作をVBAのコードにしてくれるマクロ記録機能は、(残念ながらいまいちなことも多々ありますけれども)ヒントを得るためのツールとして試してみましょう。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » VBAでシートを新規ブックにコピーする

「Sheets・Worksheet」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.