【VBA】別ファイルのシートをコピーする

Workbooksでコピー元ファイルを指定しコピー

他のエクセルファイルのシートをコピーする時、まずはコピー元のファイルを開きます。(※開いていないと、コピーできないため)

コピーする時、コピー元ファイルはWorkbooks(“ファイル名”)で指定します。

コピー終了後は、コピー元のエクセルファイルが開いたままなので、Closeメソッドで閉じましょう。

コード

 

解説

今回の例では、コピー元のファイルが「売上.xlsx」で、コピー元のシートが「5月実績」です。

実行後、新しいエクセルファイルに「5月実績」シートが作成されます。

POINT

エクセルファイルを開くときはフルパス(Cドライブ~)で指定します。
同じ名前のファイルがいろいろな場所にあると、どのファイルを開けばいいかわかりません。なので、必ずフルパスで指定します。

でも、開いた後のコピー処理では、Workbooks(“売上.xlsx”)のようにファイル名だけで指定します。
Workbooksは開いているエクセルファイルの集まりで、同じ名前のファイルを同時に開けないので、ファイル名だけで対象ファイルが特定できるからです。

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

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

関連記事

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