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

スポンサーリンク

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

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

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

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

コード

 

解説

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

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

POINT

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

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

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

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

関連記事

VBAテクニック辞典
VBAテクニック辞典
エクセルVBAおすすめ本|実際に読んだ本を目的別に紹介
エクセルVBAおすすめ本|実際に読んだ本を目的別に紹介
中途・未経験でプログラマーに転職する方法【30代前半までが勝負】
中途・未経験でプログラマーに転職する方法【30代前半までが勝負】
タイトルとURLをコピーしました