- ベストアンサー
複数のCSVファイルを1つにまとめる方法
- EXCELで複数のCSVファイルを読み込み、1つのファイルにまとめる方法を教えてください。
- Dir1に格納されている複数のCSVファイルの1行目をコピーし、別ファイルにペーストしたいです。
- 例えば、Dir1に1.csv, 2.csv, 3.csvの3つのCSVファイルがある場合、a.csvにはそれらの1行目がまとめられます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
簡単に作ってみました。 Sub Macro1() Dim FolderName As String FolderName = "C:\dir1" 'csvが入ってるフォルダまでのパス 'ファイル検索 With Application.FileSearch .NewSearch .Filename = "*.csv" '.csvを全て検索 .FileType = msoFileTypeAllFiles .LookIn = FolderName 'csvが入ってるフォルダを検索対象 .SearchSubFolders = False .Execute '検索実行 '検索結果が0の場合終了 If .FoundFiles.Count = 0 Then GoTo Exit_GetTextInformation FNum = FreeFile 'ファイル番号確保 '新規csv作成 Workbooks.Add For i = 1 To .FoundFiles.Count 'csvファイルから一行目を取得 Open .FoundFiles(i) For Input As FNum Line Input #FNum, Buff Close FNum 'テキストファイルの情報をa.csvに書き込み Cells(i, 1) = Buff '一行目 Next i End With 'a.csvという名前で同階層に保存 ActiveWorkbook.SaveAs Filename:="C:\dir1\a.csv" ActiveWorkbook.Close Exit_GetTextInformation: End Sub こいつをボタンに組み込んでみてください。 適当に作ったので修正必要かもしれません。。。^^; ご参考までに。
その他の回答 (1)
- handomari
- ベストアンサー率47% (83/174)
単純ですけど、CSVファイルはテキストファイルだから、Wordなどで3つのファイルを読み込んで、それぞれの1行目をコピー&ペーストして保存すればいいですよね。 なお、Wordで書式なし(テキスト形式)で保存したら、拡張子は.txtになるので、そこだけはファイル名の変更をしなければなりませんが・・・
補足
早速のご連絡ありがとうございます。 説明が不足しておりましてすいません。。。 今回作ろうとしているものは、Excel上にフォームで ボタンをつけて、そのボタンをクリックすると あるフォルダにあるCSVファイルを全て読み込み 1つのファイルを作成するという仕様になっているのです。 ご指摘の方法ですと、少々厳しいかと思っております。
お礼
ありがとうございました! バッチリイメージどおりの形でファイルが 作成されました。 これで作業もはかどります。