Before/Afterでファイル名を指定しコピー
最初にコピー先のエクセルファイルを開きます。
Copyメソッドでシートをコピーする時に、Before/AfterでWorkbooks(“○○.xlsx”).Worksheets(“■■”)というように、ファイル名からコピー先を指定します。
コピー終了後は、コピー先のエクセルファイルを保存してから閉じます。
コード
1 2 3 4 5 6 7 8 9 10 11 |
'コピー先のファイルを開く Workbooks.Open "C:\エクセル用\見積.xlsx" 'VBAのエクセルファイルにあるシートをコピー ThisWorkbook.Worksheets("見積ひな型").Copy before:=Workbooks("見積.xlsx").Worksheets(1) 'コピー先ファイルを保存して閉じる Workbooks("見積.xlsx").Save Workbooks("見積.xlsx").Close |
解説
実行後、コピー先のエクセルファイル「C:\エクセル用\見積.xlsx」に、VBAのエクセルファイルにあるシート「見積ひな型」が追加されます。
注意すること
最後のSaveメソッドで保存せずに、いきなりCloseメソッドでファイルを閉じようとすると、画面に確認メッセージが表示され処理が止まってしまいます。
その他テクニックは、次の記事を参考にしてください。
https://excel-toshokan.com/vba-sheet-copy/