webサイトなんかを運営していて、ユーザデータなんかをexportするとcsv形式で保存されてしまう。
これを1つのブックにまとめる方法を紹介です
※ブックは1つですが、シートは分割(ファイル数に応じて)します。
ファイル構造
1)大ファイルの中に、「エクセル」と「ファイル(という名前のフォルダ)」を用意してください
2)CSVたちは「ファイル」というフォルダの中に入れてください
コード
Excel(VBA)に下記コードを追記してください
Sub TEST1()
Dim myFile As String
Dim myPath As String
Dim newWB As Workbook
' CSVファイルが格納されているフォルダを指定
myPath = ThisWorkbook.Path & "\ファイル\"
' 最初のCSVファイルを取得
myFile = Dir(myPath & "*.csv")
Do Until myFile = ""
' CSVファイルを開く
Set newWB = Workbooks.Open(myPath & myFile)
' シートをコピーして、このブックの先頭に挿入
newWB.Sheets(1).Copy Before:=ThisWorkbook.Sheets(1)
' 開いたCSVファイルを閉じる
newWB.Close False
' 次のCSVファイルを取得
myFile = Dir()
Loop
End Sub