「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のコードにしてくれるマクロ記録機能は、(残念ながらいまいちなことも多々ありますけれども)ヒントを得るためのツールとして試してみましょう。
- Newer:VBAで選択セルの列全体・行全体を選択する
- Older:MergeArea.Countとは
Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » VBAでシートを新規ブックにコピーする