[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『複数のCSVファイルを一つにまとめるマクロ』(でら)
いつもお世話になっております。
マクロ勉強中の者です、以下についてご教示願います。
デスクトップのtest というフォルダに、”ファイル名は異なるが同じレイアウトのCSVデータ”
が複数入っており、これを集約させた別データ(ファイル名をmatome.csvで新規にCSV作成)
したいと思っております。また、集約と併せて、以下のことも踏まえて考えてます。
イメージとしては・・・
sample.csv
A B C D 1 部番 納期 数量 注番 2 100 0202 50 ABC 3 101 0202 10 ABD 4 100 0204 10 EEW
sample2.csv
A B C D 1 部番 納期 数量 注番 2 200 0202 50 AAB 3 201 0202 10 BBA 4 200 0204 10 EEW
これを以下のようにしたい
matome.csv
A B C D 1 部番 納期 数量 注番 2 100 0202 50 ABC 3 101 0202 10 ABD 4 100 0204 10 EEW 5 200 0202 50 AAB 6 201 0202 10 BBA 7 200 0204 10 EEW
★サンプルは2ケのCSVだけですが、通常業務ではランダムでデータ数が毎週発生してます
上記の作業をマクロで実施する場合、どのようになるのでしょうか?
宜しくお願い致します。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
ところで、CSVファイルの区切り文字は何ですか? もしカンマの場合、データ自身にカンマはありますか?
連結するファイルの順番は、バラバラでも良いですか?
(例えばDir関数を使っても、どういう順番で表示されるかはディスク内の配置に依るので、不定なのです。
コマンドプロンプト利用の場合、ソートする命令はNASには効かないこともあるので、これも不確実です)
とりあえず、どこまで作っていて、どこで悩んでいるのか見せてください。テキストのまま連結するのか、
Excelブックとして読み込んでからコピペするのか、貴方の方針が知りたいです。
(???) 2016/02/08(月) 14:40
マクロをご希望のようですが、フリーソフトをインストールしてもいい環境なら 手作業での方法もあります。何度か手順を踏むことにはなりますが。 (se_9) 2016/02/08(月) 14:52
>連結するファイルの順番は、バラバラでも良いですか? ここが重要、 バラバラでよければDir関数を使うだけなので比較的簡単、名前順などの順番が 必要なら、一旦名前を配列に読み込んで並べ替えてやる必要がある。
書き出しに関しては、例を見る限り行内のレイアウトはどうでもよさそう。 Line Inputで読んでPrintでそのまま書き出すだけ、その際2ファイル目からは 一行目は書き出さないようにすればよいだけ。
(とおりすがり) 2016/02/08(月) 15:51
Dim buf As String, fl As Object, fso As Object, wsh As Variant, pt As String, flg1 As Boolean, flg2 As Boolean Set fso = CreateObject("Scripting.FileSystemObject") Set wsh = CreateObject("Wscript.Shell") pt = wsh.SpecialFolders("Desktop") & "\test" If fso.FileExists(pt & "\matome.csv") Then Kill pt & "\matome.csv" Open pt & "\matome.csv" For Append As #1 For Each fl In fso.GetFolder(pt).Files If (Right(fl.Name, 4) = ".csv" Or Right(fl.Name, 4) = ".CSV") And Not fl.Name = "matome.csv" Then Open pt & "\" & fl.Name For Input As #2 flg2 = False Do Until EOF(2) Line Input #2, buf If flg2 = True Or Not flg1 Then Print #1, buf flg2 = True Loop Close #2 flg1 = True End If Next fl Close #1 Set fso = Nothing Set wsh = Nothing End Sub (mm) 2016/02/08(月) 16:14
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.