Workbooksでコピー元ファイルを指定しコピー
他のエクセルファイルのシートをコピーする時、まずはコピー元のファイルを開きます。(※開いていないと、コピーできないため)
コピーする時、コピー元ファイルはWorkbooks(“ファイル名”)で指定します。
コピー終了後は、コピー元のエクセルファイルが開いたままなので、Closeメソッドで閉じましょう。
コード
1 2 3 4 5 6 7 8 9 10 |
'コピー元のシートがあるファイルを開く Workbooks.Open "C:\エクセル用\売上.xlsx" 'シートをコピー(新しいファイルに作成) Workbooks("売上.xlsx").Worksheets("5月実績").Copy 'コピー元ファイルを閉じる Workbooks("売上.xlsx").Close |
解説
今回の例では、コピー元のファイルが「売上.xlsx」で、コピー元のシートが「5月実績」です。
実行後、新しいエクセルファイルに「5月実績」シートが作成されます。
POINT
エクセルファイルを開く時はフルパス(Cドライブ~)で指定します。
同じ名前のファイルがいろいろな場所にあると、どのファイルを開けばいいかわかりません。なので、必ずフルパスで指定します。
でも、開いた後のコピー処理では、Workbooks(“売上.xlsx”)のようにファイル名だけで指定します。
Workbooksは開いているエクセルファイルの集まりで、同じ名前のファイルを同時に開けないので、ファイル名だけで対象ファイルが特定できるからです。
その他テクニックは、次の記事を参考にしてください。
【VBA】ワークシートのコピーとテクニック
Copyメソッド
ワークシートをコピーするには、WorksheetsのCopyメソッドを使います。
コピーしたシートは、新しいブックに作成されます。
コード
'「住所一覧」シートをコピーする
Worksheets("住...