【VBA】指定した複数のファイルを抽出してコピペするエクセルマクロ
複数のファイルが含まれているフォルダから指定したファイルを抽出してコピー&ペーストする、VBAの簡単な作業マクロを作りました。
エクセルで完結させてしまいましたが、コピーするファイルの指定はcsvなどで行ってそれをインポートする方が処理として綺麗だと思います。
コード
Sub CopySelectedFiles()
' A列で指定したファイルを宛先にコピペする
Dim filename As String
Range("A1").Select
' データの先頭を選択
Do While ActiveCell <> ""
filename = ActiveCell
FileCopy "<コピー元>" & filename, "<コピー先>" & filename
ActiveCell.Offset(1, 0).Activate
Loop
Debug.Print "done"
End Sub
前提条件
前提条件は次のとおりです。例外処理を作り込んでいないので、運用でまかなっています。
- コピーしたいファイルのファイル名がA列に記入されていること(A1、A2...)
- A列には↑以外記入されていないこと
- <コピー元>と<コピー先>は末尾の「\」まで指定されていること