- ベストアンサー
EXCEL指定フォルダ内のエクセルをコピー
- VBAのコードを使って、指定のフォルダ内にあるエクセルファイルをコピーする方法を教えてください。
- 指定のフォルダ内にあるエクセルファイルを開いて、データを指定のエクセルファイルに順番に貼り付けたいです。
- コピーが終わったら、コピー元のエクセルファイルを別のフォルダに移動したいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ALT+F11を押してVBE画面を開く 挿入メニューから標準モジュールを挿入する 現れたシートに下記をコピー貼り付ける sub macro1() dim myPath as string dim newPath as string dim myFile as string dim mySheetname as string dim w as workbook mypath = "c:\test\" newpath = "c:\test2\" mysheetname = thisworkbook.worksheets(1).range("A1").value ’★ myfile = dir(mypath & "*.xls*") do until myfile = "" ’ブックを開いてコピーする workbooks.open filename:=mypath & myfile workbooks(myfile).worksheets(1).range("A1").currentregion.copy _ destination:=thisworkbook.worksheets(mysheetname).range("A65536").end(xlup).offset(1) ’新たな保存場所に保存する workbooks(myfile).saveas filename:=newpath & myfile workbooks(myfile).close kill mypath & myfile myfile = dir() loop end sub ファイルメニューから終了してエクセルに戻る ★:所定のセルに所定のシート名を記入する ALT+F8を押し,マクロを実行する。 #指摘事項:補足には及びません。自力で解決してください。 ご利用のエクセルのバージョンが不明です。それに伴い,今アナタが操作したいファイルの拡張子も不明です。 ブックを「わざわざ別の場所に移動する」意図が不明です。通常は,所定のフォルダにある全てのブックを回答のマクロのように一括処理すれば,それで終わりです。マクロ終了後,必要なら手動でブックを移動するなりした方がお薦めと言えます。 次々開いてコピーしてきたい「セル範囲の求め方」が不明です。「最後の行が不定」なのは一向に構いませんが,「具体的にそれがどこなのかを,どうやって調べることが出来るのか」が不明ということです。 上述マクロは簡易法で書いてありますが,具体的なアナタのブックの姿に照らし,ご自分で工夫して一度自力で作成してみてください。