【VBA】シートを新しいエクセルファイルにコピーする

Copyメソッドだけで実行

コピーする時に、Before、After(コピーを作成する場所)を省略します。

すると、新しいエクセルファイルが自動で作成され、その新しいエクセルファイルにシートがコピーされます

コード

 

解説

新しいエクセルファイルが作成され、シート「見積ひな型」がコピーされます。

 

ワンランク上のコード

実際にはシートをコピーした後に、その新しいシートに編集を行うと思います。

その場合、新しいエクセルファイルとシートはActiveWorkbookを使って操作できます。でも、ActiveWorkbookは何らかの原因で、他のエクセルファイルに変化する可能性があります。

なので、次のコードのように新しいエクセルファイルを作成したら変数に格納し、以降の処理では変数に対して処理を行います。そうすることで、処理中にActiveWorkbookが変化しても影響を受けません。

 
プログラムを見て、ちょっとむつかしく感じたかもしれません。

最初のうちは、「新しいエクセルファイルは、変数に格納する」と機械的にプログラミングして問題ありません。だんだんと理解できていきます。

 
その他テクニックは、次の記事を参考にしてください。

【VBA】ワークシートのコピーとテクニック
Copyメソッド ワークシートをコピーするには、WorksheetsのCopyメソッドを使います。 コピーしたシートは、新しいブックに作成されます。 コード '「住所一覧」シートをコピーする Worksheets("住...

関連記事

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