|
今、1つのファイルデータをマクロで、
複数のCSVファイルにしようと思っています。
WS_k(i, 1)が種別になってまして、これが変わったとき、
種別 + ”コード”という名前で保存しようと考えています。
自分なりに作ってみたのですが、
中身のデータが少なかったり、
10列まであるデータが5列位までしかなかったり、
書き方がどこか間違えているようです…。
どうすれば、よいのか、ご享受ください。
または、他の良い方法があれば、教えてください。
どうぞ、よろしくお願いいたします。
Sub データ作成()
Dim i As Integer
Dim j As Integer
Dim buf As String
Dim code As String
FileName1 = Workbooks(1).Path
FileName1 = FileName1 & "\コード.csv"
FileNum = FreeFile
Open FileName1 For Output As FileNum
Set WS_k = Worksheets("商品シート").Cells
buf = ""
i = 1
code = WS_k(i, 1)
Do Until WS_k(i, 1) = ""
If code <> WS_k(i, 1) Then
Workbooks.Open Filename:=FileName1
ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.Path & _
"\" & StrConv(code, vbWide + vbUpperCase) & "コード.csv"
ActiveWorkbook.Close
Close FileNum
FileNum = FreeFile
Open FileName1 For Output As FileNum
code = WS_k(i, 1)
End If
For j = 1 To 10
buf = buf & Trim(WS_k(i, j)) & ","
Next j
Print #1, (buf)
buf = ""
i = i + 1
Loop
Close FileNum
End Sub
|
|