プロが教えるわが家の防犯対策術!

テストデータとして下記を作りました。
ファイル名をaa1.csvで保存しました。

大島,大阪
古河,豊橋
恩田,岐阜
寒川,福島
桐井,新潟
青井,久留米

上記のCSVファイルをマクロを利用して
1行1ファイルのテキストファイルに出力したいです。

また、出力する形式として、
A列をテキストファイル名に
B列のみをファイル文書に書き出したいです。

1行1ファイルのテキストファイルに出力はできたのですが、
A列とB列がテキストファイルの文章として出力されてしまいます。

A列をテキストファイル名に
B列のみをファイル文書に書き出す
マクロを作成することはできるでしょうか。

A 回答 (2件)

以下のようにしてください。


---------------------------------------
'目的のブックのシートを開いたままお使いください。
Sub ColumnOut2Text()
Dim i As Long
Dim j As Long
Dim Fno As Integer
Dim OutColumn As String
'ユーザー設定
Const myPath As String = "C:\ZZZ\"
'かならず、最後に\ を入れてください。
'
With Worksheets("Sheet1")
For i = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
Fno = FreeFile()
Open myPath & .Cells(i, 1).Value & ".txt" For Output As #Fno
'For j = 1 To .Cells(1, Columns.Count).End(xlToLeft).Column
' OutColumn = .Cells(1, j).Value & Chr(13) & .Cells(i, j).Value & Chr(13)
'Print #Fno, OutColumn
'Next j
'OutColumn = Empty
Print #Fno, .Cells(i, 2).Value 'この行を追加
Close #Fno
Next i
End With
Beep
End Sub
------------------------------------------------
不要な行はコメントアウトしています。
追加した行は、以下の1行です。
Print #Fno, .Cells(i, 2).Value 'この行を追加

尚、sheet1のB列にCSVファイルの2列目のデータ(大阪、豊橋、岐阜等)が格納されていると理解しています。
もし、違っていたら、その旨補足してください。
    • good
    • 0
この回答へのお礼

ありがとうございます。

やりたいことが完璧にできました。

ずいぶん不要な行があったみたいですね。
本当に助かりました。

お礼日時:2016/09/24 00:54

補足要求です。


質問1:
提示された例では、1つのファイルとして
"大島.txt" というファイルをつくり、その内容は "大阪" というようにしたいということでしょうか?

質問2:
>1行1ファイルのテキストファイルに出力はできたのですが、
>A列とB列がテキストファイルの文章として出力されてしまいます。
このマクロを提示していただけますか?
    • good
    • 0
この回答へのお礼

質問1:おっしゃるとおりです。

質問2:
教えてgooにて見つけたものです。

'目的のブックのシートを開いたままお使いください。
Sub ColumnOut2Text()
Dim i As Long
Dim j As Long
Dim Fno As Integer
Dim OutColumn As String
'ユーザー設定
  Const myPath As String = "C:\ZZZ\"
 'かならず、最後に\ を入れてください。
'
With Worksheets("Sheet1")
For i = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
 Fno = FreeFile()
 Open myPath & .Cells(i, 1).Value & ".txt" For Output As #Fno
 For j = 1 To .Cells(1, Columns.Count).End(xlToLeft).Column
  OutColumn = .Cells(1, j).Value & Chr(13) & .Cells(i, j).Value & Chr(13)
  Print #Fno, OutColumn
 Next j
 OutColumn = Empty
 Close #Fno
Next i
End With
 Beep
End Sub

お礼日時:2016/09/24 00:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!