※空白のセルはありません
このようなCSVファイルを、このE列の漢字によってファイルを分割したい
と考えています。例えば
E列が斎藤であるCSVファイル(ファイル名:斎藤.csv)
E列が内藤であるCSVファイル(ファイル名:内藤.csv)
※可能であれば分割日付が名前の前につくファイル名がつけたい。
1つのCSVファイルが最大で複数分割させたいです。
できるだけ簡易に分割できる方法をご教授頂ければ幸いです。
どうぞよろしくお願い致します。
※A列からDJ列までデータが入っております。
※ExcelのVBAを用いた方法でお願い致します。(Excel2007、2003)
Sub main() Dim p As String Dim f As String p = "C:\test\" '対象フォルダを指定してください。 f = "a.csv" '対象ファイルを指定してください。 Call jikkou(p, f) End Sub Sub jikkou(p As String, f As String) dt = Format(Now(), "yyyyMMdd") ch1 = FreeFile Open p & f For Input As #ch1 Do While Not EOF(ch1) 'ファイルの終端かどうかを確認します Line Input #ch1, textline 'データ行を読み込みます f = 0 g = 0 h = "" For e = 1 To Len(textline) If Mid(textline, e, 1) <> "," And g = 4 Then h = h & Mid(textline, e, 1) End If If Mid(textline, e, 1) = """" And f = 0 Then f = 1 End If If Mid(textline, e, 1) = """" And f = 1 Then f = 0 End If If Mid(textline, e, 1) = "," And f = 0 Then g = g + 1 If g >= 5 Then Exit For End If Next e ch2 = FreeFile Open p & dt & h & ".csv" For Append As #ch2 Print #ch2, textline 'データの書き込みをします Close #ch2 Loop Close #ch1 End Sub
起動するときは、以下の設定をしてから実行してください。 p = "C:\test\" '対象フォルダを指定してください。 f = "a.csv" '対象ファイルを指定してください。
早速ご回答いただきして有難うございます!
2013/03/09 16:41:23試してみたのですが、「ファイル名または番号が不正です」と表示されとまってしまい、
デバッグというのを押すと以下のところが黄色くなっておりました。
Open p & dt & h & ".csv" For Append As #ch2
何か考えられる原因ございますでしょうか。
フォルダやファイル名は同じに場所にしております。
以上よろしくお願い致します。
それでエラーが出た直前のイミディエイトに出力された最後の2行を 教えてください。
2013/03/09 17:07:16